summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2014-05-18 11:15:07 +0100
committerVincent Sanders <vince@kyllikki.org>2014-05-18 14:40:39 +0100
commit17b347a260ee23c760f8e19d5df1846493b8432b (patch)
tree839f7e94a300e3fd20bc8626bc92bbb6a59a927b /utils
parente197abf63a94bd03e8fe625fd7f143126059d8fe (diff)
downloadnetsurf-17b347a260ee23c760f8e19d5df1846493b8432b.tar.gz
netsurf-17b347a260ee23c760f8e19d5df1846493b8432b.tar.bz2
check mkdir results (coverity 1109838)
Diffstat (limited to 'utils')
-rw-r--r--utils/container.c9
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++) {