From: Anatol Belski Date: Sun, 18 Feb 2018 19:30:33 +0000 (+0100) Subject: Avoid multiple wcslen() calls X-Git-Tag: php-7.3.0alpha1~356 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=34833c9d397dc2eab1a70885d64081e28ac026b0;p=php Avoid multiple wcslen() calls --- 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);