diff options
Diffstat (limited to 'cfg_file.y')
-rw-r--r-- | cfg_file.y | 10 |
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; } ; |