From 6a8b3db8bc1e5edd4f0afdf9e01a828cdc979bff Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Sun, 22 Apr 2007 10:25:18 +0000 Subject: [PATCH] Fixed buffer overflow --- win32/registry.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/win32/registry.c b/win32/registry.c index 752bc38128..9c674c0819 100644 --- a/win32/registry.c +++ b/win32/registry.c @@ -133,10 +133,12 @@ static int LoadDirectory(HashTable *directories, HKEY key, char *path, int path_ if (path_len) { memcpy(new_path, path, path_len); new_path[path_len] = '/'; - path_len++; + memcpy(new_path+path_len+1, name, name_len+1); + zend_str_tolower(new_path, path_len+name_len+1); + } else { + memcpy(new_path, name, name_len+1); + zend_str_tolower(new_path, name_len); } - memcpy(new_path+path_len, name, name_len+1); - zend_str_tolower(new_path, path_len+name_len); if (LoadDirectory(directories, subkey, new_path, path_len+name_len, ht)) { ret = 1; } -- 2.50.1