From ef677309f49f6c82e98a685105160fb0dc7ebf8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Wojdy=C5=82a?= Date: Mon, 2 Dec 2019 11:58:14 +0100 Subject: [PATCH] PF mmap: disallow 0 size --- Pal/src/host/Linux-SGX/db_files.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Pal/src/host/Linux-SGX/db_files.c b/Pal/src/host/Linux-SGX/db_files.c index 4d18cfba..8d2e4227 100644 --- a/Pal/src/host/Linux-SGX/db_files.c +++ b/Pal/src/host/Linux-SGX/db_files.c @@ -349,6 +349,10 @@ static int file_delete(PAL_HANDLE handle, int access) { static int pf_file_map(struct protected_file* pf, PAL_HANDLE handle, void** addr, int prot, uint64_t offset, uint64_t size) { int fd = handle->file.fd; + + if (size == 0) + return -PAL_ERROR_INVAL; + if ((prot & PAL_PROT_READ) && (prot & PAL_PROT_WRITE)) { SGX_DBG(DBG_E, "file_map(PF fd %d): trying to map with R+W access\n", fd); return -PAL_ERROR_NOTSUPPORT;