diff options
author | Vincent Sanders <vince@kyllikki.org> | 2014-05-18 11:15:07 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2014-05-18 14:40:39 +0100 |
commit | 17b347a260ee23c760f8e19d5df1846493b8432b (patch) | |
tree | 839f7e94a300e3fd20bc8626bc92bbb6a59a927b /utils | |
parent | e197abf63a94bd03e8fe625fd7f143126059d8fe (diff) | |
download | netsurf-17b347a260ee23c760f8e19d5df1846493b8432b.tar.gz netsurf-17b347a260ee23c760f8e19d5df1846493b8432b.tar.bz2 |
check mkdir results (coverity 1109838)
Diffstat (limited to 'utils')
-rw-r--r-- | utils/container.c | 9 |
1 files changed, 8 insertions, 1 deletions
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++) { |