diff options
author | Anatol Belski <ab@php.net> | 2018-02-18 20:30:33 +0100 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2018-02-18 20:30:33 +0100 |
commit | 34833c9d397dc2eab1a70885d64081e28ac026b0 (patch) | |
tree | 759081b0d76a75ac25ca2c894f1d794880fdc8dd | |
parent | 34a7c6c1a5f6c2f5fced000c34ad2e30e2b13c93 (diff) | |
download | php-git-34833c9d397dc2eab1a70885d64081e28ac026b0.tar.gz |
Avoid multiple wcslen() calls
-rw-r--r-- | win32/ioutil.h | 13 |
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); |