com php-src: Avoid unnecessary string copy: TSRM/tsrm_win3 2.c Zend/zend_virtual_cwd.c

[email protected] (Anatol Belski)
Newsgroups php.cvs
Message-ID <[email protected]>
Commit:    6a010ad492ec82ce333fb4fee81fc46fc8e6a0a9
Author:    Anatol Belski <[email protected]>         Thu, 27 Apr 2017 16:03:12 +0200
Parents:   24ae881080f8cfbb56e0981973d4474a831a3398
Branches:  master

Link:       http://git.php.net/?p=php-src.git;a=commitdiff;h=6a010ad492ec82ce333fb4fee81fc46fc8e6a0a9

Log:
Avoid unnecessary string copy

which is the case when there's no impersonation.

Changed paths:
  M  TSRM/tsrm_win32.c
  M  Zend/zend_virtual_cwd.c


Diff:
diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c
index 4bd1fcb..bb277b4 100644
--- a/TSRM/tsrm_win32.c
+++ b/TSRM/tsrm_win32.c
@@ -115,14 +115,8 @@ char * tsrm_win32_get_path_sid_key(const char *pathname, size_t pathname_len, si
 	size_t ptc_sid_len;
 
 	if (!pSid) {
-		bucket_key = (char *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, pathname_len + 1);
-		if (!bucket_key) {
-			*key_len = 0;
-			return NULL;
-		}
-		memcpy(bucket_key, pathname, pathname_len);
 		*key_len = pathname_len;
-		return bucket_key;
+		return pathname;
 	}
 
 	if (!ConvertSidToStringSid(pSid, &ptcSid)) {
diff --git a/Zend/zend_virtual_cwd.c b/Zend/zend_virtual_cwd.c
index 2f9c46d..e9ffda7 100644
--- a/Zend/zend_virtual_cwd.c
+++ b/Zend/zend_virtual_cwd.c
@@ -539,7 +539,9 @@ static inline zend_ulong realpath_cache_key(const char *path, size_t path_len) /
 		h *= Z_UL(16777619);
 		h ^= *bucket_key++;
 	}
-	HeapFree(GetProcessHeap(), 0, (LPVOID)bucket_key_start);
+	if (bucket_key_start != path) {
+		HeapFree(GetProcessHeap(), 0, (LPVOID)bucket_key_start);
+	}
 	return h;
 }
 /* }}} */
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.