diff --git a/secilc/secil2conf.c b/secilc/secil2conf.c index c49522e5684c5be19c6b065891119d22eb2c6901..bf050f36ff0d18b7235b21ffa93a623481125705 100644 --- a/secilc/secil2conf.c +++ b/secilc/secil2conf.c @@ -152,6 +152,12 @@ int main(int argc, char *argv[]) file_size = filedata.st_size; buffer = malloc(file_size); + if (!buffer) { + fprintf(stderr, "Out of memory\n"); + rc = SEPOL_ERR; + goto exit; + } + rc = fread(buffer, file_size, 1, file); if (rc != 1) { fprintf(stderr, "Failure reading file: %s\n", argv[i]); diff --git a/secilc/secil2tree.c b/secilc/secil2tree.c index e5cdf6bd299cdefd3fa39ee6d7aea094d49470bb..d04566dd4dfef7bdf4de70a94b6418a629ce0e95 100644 --- a/secilc/secil2tree.c +++ b/secilc/secil2tree.c @@ -158,6 +158,12 @@ int main(int argc, char *argv[]) file_size = filedata.st_size; buffer = malloc(file_size); + if (!buffer) { + fprintf(stderr, "Out of memory\n"); + rc = SEPOL_ERR; + goto exit; + } + rc = fread(buffer, file_size, 1, file); if (rc != 1) { fprintf(stderr, "Failure reading file: %s\n", argv[i]); diff --git a/secilc/secilc.c b/secilc/secilc.c index 1e1b83e432c4ba9468bd5048a19f67ab2ff11345..7d2f44f2e8cfb861dc88bf18f0b62e328bc39de0 100644 --- a/secilc/secilc.c +++ b/secilc/secilc.c @@ -286,6 +286,12 @@ int main(int argc, char *argv[]) } buffer = malloc(file_size); + if (!buffer) { + fprintf(stderr, "Out of memory\n"); + rc = SEPOL_ERR; + goto exit; + } + rc = fread(buffer, file_size, 1, file); if (rc != 1) { fprintf(stderr, "Failure reading file: %s\n", argv[i]);