diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2019-05-09 16:56:57 +0200 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2019-05-09 16:56:57 +0200 |
commit | d0d290d4aa9b0c16759b6aa22e7e5bf1c944a892 (patch) | |
tree | 24122748a7123ca34c7a0da860121562a759ebe5 | |
parent | 0025a39b4521ef05105f989c42b25e0852484cc0 (diff) | |
parent | fd1ffa4692dd91af08ea019fc2db0d8b3835dfe9 (diff) | |
download | php-git-d0d290d4aa9b0c16759b6aa22e7e5bf1c944a892.tar.gz |
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix erroneous assertions
-rw-r--r-- | win32/codepage.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/win32/codepage.c b/win32/codepage.c index 636bc37992..86a4c33007 100644 --- a/win32/codepage.c +++ b/win32/codepage.c @@ -66,7 +66,7 @@ __forceinline static wchar_t *php_win32_cp_to_w_int(const char* in, size_t in_le } assert(ret ? tmp_len == ret_len : 1); - assert(ret ? wcslen(ret) == ret_len - 1 : 1); + assert(ret && !in_len ? wcslen(ret) == ret_len - 1 : 1); ret[ret_len-1] = L'\0'; @@ -107,6 +107,10 @@ PW32CP wchar_t *php_win32_cp_conv_ascii_to_w(const char* in, size_t in_len, size const char *idx = in, *end; char ch_err = 0; +#if PHP_DEBUG + size_t save_in_len = in_len; +#endif + assert(in && in_len ? in[in_len] == '\0' : 1); if (!in) { @@ -199,7 +203,7 @@ PW32CP wchar_t *php_win32_cp_conv_ascii_to_w(const char* in, size_t in_len, size ret[in_len] = L'\0'; - assert(ret ? wcslen(ret) == in_len : 1); + assert(ret && !save_in_len ? wcslen(ret) == in_len : 1); if (PHP_WIN32_CP_IGNORE_LEN_P != out_len) { *out_len = in_len; @@ -243,7 +247,7 @@ __forceinline static char *php_win32_cp_from_w_int(const wchar_t* in, size_t in_ } assert(target ? r == target_len : 1); - assert(target ? strlen(target) == target_len - 1 : 1); + assert(target && !in_len ? strlen(target) == target_len - 1 : 1); target[target_len-1] = '\0'; |