diff --git a/secilc/secil2conf.c b/secilc/secil2conf.c index c49522e5..bf050f36 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 e5cdf6bd..d04566dd 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 80d3583d..f3102ca9 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]);