summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2018-02-18 20:30:33 +0100
committerAnatol Belski <ab@php.net>2018-02-18 20:30:33 +0100
commit34833c9d397dc2eab1a70885d64081e28ac026b0 (patch)
tree759081b0d76a75ac25ca2c894f1d794880fdc8dd
parent34a7c6c1a5f6c2f5fced000c34ad2e30e2b13c93 (diff)
downloadphp-git-34833c9d397dc2eab1a70885d64081e28ac026b0.tar.gz
Avoid multiple wcslen() calls
-rw-r--r--win32/ioutil.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/win32/ioutil.h b/win32/ioutil.h
index 8676fd5ac4..cc0f7ac1d3 100644
--- a/win32/ioutil.h
+++ b/win32/ioutil.h
@@ -424,11 +424,14 @@ __forceinline static int php_win32_ioutil_rename(const char *oldnamea, const cha
free(oldnamew);
SET_ERRNO_FROM_WIN32_CODE(ERROR_INVALID_PARAMETER);
return -1;
- } else if (!PHP_WIN32_IOUTIL_PATH_IS_OK_W(newnamew, wcslen(newnamew))) {
- free(oldnamew);
- free(newnamew);
- SET_ERRNO_FROM_WIN32_CODE(ERROR_ACCESS_DENIED);
- return -1;
+ } else {
+ size_t newnamew_len = wcslen(newnamew);
+ if (!PHP_WIN32_IOUTIL_PATH_IS_OK_W(newnamew, newnamew_len)) {
+ free(oldnamew);
+ free(newnamew);
+ SET_ERRNO_FROM_WIN32_CODE(ERROR_ACCESS_DENIED);
+ return -1;
+ }
}
ret = php_win32_ioutil_rename_w(oldnamew, newnamew);