diff options
Diffstat (limited to 'server/core.c')
-rw-r--r-- | server/core.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/server/core.c b/server/core.c index 11bf8d3d10..6de5892a21 100644 --- a/server/core.c +++ b/server/core.c @@ -2948,8 +2948,15 @@ static int test_iffile_section(cmd_parms *cmd, const char *arg) const char *relative; apr_finfo_t sb; + /* + * At least on Windows, if the path we are testing is not valid (for example + * a path on a USB key that is not plugged), 'ap_server_root_relative()' will + * return NULL. In such a case, consider that the file is not there and that + * the section should be skipped. + */ relative = ap_server_root_relative(cmd->temp_pool, arg); - return (apr_stat(&sb, relative, 0, cmd->pool) == APR_SUCCESS); + return (relative && + (apr_stat(&sb, relative, APR_FINFO_TYPE, cmd->temp_pool) == APR_SUCCESS)); } static int test_ifdirective_section(cmd_parms *cmd, const char *arg) |