From 17b347a260ee23c760f8e19d5df1846493b8432b Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Sun, 18 May 2014 11:15:07 +0100 Subject: check mkdir results (coverity 1109838) --- utils/container.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'utils') diff --git a/utils/container.c b/utils/container.c index 605237abe..06d5b9c77 100644 --- a/utils/container.c +++ b/utils/container.c @@ -457,13 +457,20 @@ char *container_extract_theme(const char *themefile, const char *dirbasename) strcpy(dirname, dirbasename); strcat(dirname, themename); if (stat(dirname, &statbuf) != -1) { + /* directory exists */ + warn_user("DirectoryError", dirname); + container_close(cctx); + free(dirname); + free(themename); + return NULL; + } + if (mkdir(dirname, S_IRWXU) != 0) { warn_user("DirectoryError", dirname); container_close(cctx); free(dirname); free(themename); return NULL; } - mkdir(dirname, S_IRWXU); for (e = container_iterate(cctx, &state), i = 0; i < cctx->entries; e = container_iterate(cctx, &state), i++) { -- cgit v1.2.3