summaryrefslogtreecommitdiffstats
path: root/cfg_file.y
diff options
context:
space:
mode:
Diffstat (limited to 'cfg_file.y')
-rw-r--r--cfg_file.y10
1 files changed, 10 insertions, 0 deletions
diff --git a/cfg_file.y b/cfg_file.y
index 26b97871a..2af513eb6 100644
--- a/cfg_file.y
+++ b/cfg_file.y
@@ -80,6 +80,16 @@ command :
tempdir :
TEMPDIR EQSIGN QUOTEDSTRING {
+ struct stat st;
+
+ if (stat ($3, &st) == -1) {
+ yyerror ("yyparse: cannot stat directory \"%s\": %s", $3, strerror (errno));
+ YYERROR;
+ }
+ if (!S_ISDIR (st.st_mode)) {
+ yyerror ("yyparse: \"%s\" is not a directory", $3);
+ YYERROR;
+ }
cfg->temp_dir = $3;
}
;