--- mod_files.c.orig 2006-08-08 18:31:12.000000000 +0200 +++ mod_files.c 2006-12-22 22:49:48.000000000 +0100 @@ -102,7 +102,7 @@ key_len = strlen(key); if (key_len <= data->dirdepth || buflen < - (strlen(data->basedir) + 2 * data->dirdepth + key_len + 5 + sizeof(FILE_PREFIX))) + (strlen(data->basedir) + 2 * data->dirdepth + key_len + 5 + sizeof(FILE_PREFIX) + MAX_LENGTH_OF_LONG + 1)) return NULL; p = key; memcpy(buf, data->basedir, data->basedir_len); @@ -116,7 +116,11 @@ n += sizeof(FILE_PREFIX) - 1; memcpy(buf + n, key, key_len); n += key_len; - buf[n] = '\0'; + if (PG(safe_mode)) { + sprintf(buf + n, "-%lu", php_getuid()); + } else { + buf[n] = '\0'; + } return buf; }