diff options
Diffstat (limited to 'ext/session/mod_files.c')
-rw-r--r-- | ext/session/mod_files.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/session/mod_files.c b/ext/session/mod_files.c index af6c1dbf1d..011ec1f770 100644 --- a/ext/session/mod_files.c +++ b/ext/session/mod_files.c @@ -239,7 +239,12 @@ PS_OPEN_FUNC(files) data->fd = -1; if ((p = strchr(save_path, ';'))) { + errno = 0; data->dirdepth = (size_t) strtol(save_path, NULL, 10); + if (errno == ERANGE) { + efree(data); + return FAILURE; + } save_path = p + 1; } data->basedir_len = strlen(save_path); |