Fix printf style issues in Windows specific code (GH-17452)

A couple of calls pass strings as formats (`-Wformat-security`), and
some others mix up types (`-Wformat`).
This commit is contained in:
Christoph M. Becker 2025-01-13 11:50:05 +01:00 committed by GitHub
parent 26bf239e6d
commit 1675d32261
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 17 additions and 17 deletions

View file

@ -45,7 +45,7 @@ zend_result zend_load_extension(const char *path)
#ifdef ZEND_WIN32 #ifdef ZEND_WIN32
char *err; char *err;
if (!php_win32_image_compatible(handle, &err)) { if (!php_win32_image_compatible(handle, &err)) {
zend_error(E_CORE_WARNING, err); zend_error(E_CORE_WARNING, "%s", err);
return FAILURE; return FAILURE;
} }
#endif #endif

View file

@ -3460,7 +3460,7 @@ void zend_jit_unprotect(void)
if (!VirtualProtect(dasm_buf, dasm_size, new, &old)) { if (!VirtualProtect(dasm_buf, dasm_size, new, &old)) {
DWORD err = GetLastError(); DWORD err = GetLastError();
char *msg = php_win32_error_to_msg(err); char *msg = php_win32_error_to_msg(err);
fprintf(stderr, "VirtualProtect() failed [%u] %s\n", err, msg); fprintf(stderr, "VirtualProtect() failed [%lu] %s\n", err, msg);
php_win32_error_msg_free(msg); php_win32_error_msg_free(msg);
} }
} }
@ -3487,7 +3487,7 @@ void zend_jit_protect(void)
if (!VirtualProtect(dasm_buf, dasm_size, PAGE_EXECUTE_READ, &old)) { if (!VirtualProtect(dasm_buf, dasm_size, PAGE_EXECUTE_READ, &old)) {
DWORD err = GetLastError(); DWORD err = GetLastError();
char *msg = php_win32_error_to_msg(err); char *msg = php_win32_error_to_msg(err);
fprintf(stderr, "VirtualProtect() failed [%u] %s\n", err, msg); fprintf(stderr, "VirtualProtect() failed [%lu] %s\n", err, msg);
php_win32_error_msg_free(msg); php_win32_error_msg_free(msg);
} }
} }
@ -3731,7 +3731,7 @@ void zend_jit_startup(void *buf, size_t size, bool reattached)
if (!VirtualProtect(dasm_buf, dasm_size, PAGE_EXECUTE_READWRITE, &old)) { if (!VirtualProtect(dasm_buf, dasm_size, PAGE_EXECUTE_READWRITE, &old)) {
DWORD err = GetLastError(); DWORD err = GetLastError();
char *msg = php_win32_error_to_msg(err); char *msg = php_win32_error_to_msg(err);
fprintf(stderr, "VirtualProtect() failed [%u] %s\n", err, msg); fprintf(stderr, "VirtualProtect() failed [%lu] %s\n", err, msg);
php_win32_error_msg_free(msg); php_win32_error_msg_free(msg);
} }
} else { } else {
@ -3740,7 +3740,7 @@ void zend_jit_startup(void *buf, size_t size, bool reattached)
if (!VirtualProtect(dasm_buf, dasm_size, PAGE_EXECUTE_READ, &old)) { if (!VirtualProtect(dasm_buf, dasm_size, PAGE_EXECUTE_READ, &old)) {
DWORD err = GetLastError(); DWORD err = GetLastError();
char *msg = php_win32_error_to_msg(err); char *msg = php_win32_error_to_msg(err);
fprintf(stderr, "VirtualProtect() failed [%u] %s\n", err, msg); fprintf(stderr, "VirtualProtect() failed [%lu] %s\n", err, msg);
php_win32_error_msg_free(msg); php_win32_error_msg_free(msg);
} }
} }

View file

@ -90,7 +90,7 @@ void zend_shared_alloc_create_lock(void)
{ {
memory_mutex = CreateMutex(NULL, FALSE, create_name_with_username(ACCEL_MUTEX_NAME)); memory_mutex = CreateMutex(NULL, FALSE, create_name_with_username(ACCEL_MUTEX_NAME));
if (!memory_mutex) { if (!memory_mutex) {
zend_accel_error(ACCEL_LOG_FATAL, "Cannot create mutex (error %u)", GetLastError()); zend_accel_error(ACCEL_LOG_FATAL, "Cannot create mutex (error %lu)", GetLastError());
return; return;
} }
ReleaseMutex(memory_mutex); ReleaseMutex(memory_mutex);

View file

@ -177,7 +177,7 @@ PHPAPI int php_load_extension(const char *filename, int type, int start_now)
#ifdef PHP_WIN32 #ifdef PHP_WIN32
if (!php_win32_image_compatible(handle, &err1)) { if (!php_win32_image_compatible(handle, &err1)) {
php_error_docref(NULL, error_type, err1); php_error_docref(NULL, error_type, "%s", err1);
efree(err1); efree(err1);
DL_UNLOAD(handle); DL_UNLOAD(handle);
return FAILURE; return FAILURE;

View file

@ -609,7 +609,7 @@ static void php_get_windows_cpu(char *buf, size_t bufsize)
GetSystemInfo(&SysInfo); GetSystemInfo(&SysInfo);
switch (SysInfo.wProcessorArchitecture) { switch (SysInfo.wProcessorArchitecture) {
case PROCESSOR_ARCHITECTURE_INTEL : case PROCESSOR_ARCHITECTURE_INTEL :
snprintf(buf, bufsize, "i%d", SysInfo.dwProcessorType); snprintf(buf, bufsize, "i%lu", SysInfo.dwProcessorType);
break; break;
case PROCESSOR_ARCHITECTURE_MIPS : case PROCESSOR_ARCHITECTURE_MIPS :
snprintf(buf, bufsize, "MIPS R%d000", SysInfo.wProcessorLevel); snprintf(buf, bufsize, "MIPS R%d000", SysInfo.wProcessorLevel);
@ -671,7 +671,7 @@ PHPAPI zend_string *php_get_uname(char mode)
if (mode == 's') { if (mode == 's') {
php_uname = "Windows NT"; php_uname = "Windows NT";
} else if (mode == 'r') { } else if (mode == 'r') {
return strpprintf(0, "%d.%d", dwWindowsMajorVersion, dwWindowsMinorVersion); return strpprintf(0, "%lu.%lu", dwWindowsMajorVersion, dwWindowsMinorVersion);
} else if (mode == 'n') { } else if (mode == 'n') {
php_uname = ComputerName; php_uname = ComputerName;
} else if (mode == 'v') { } else if (mode == 'v') {
@ -680,7 +680,7 @@ PHPAPI zend_string *php_get_uname(char mode)
ZEND_ASSERT(winver != NULL); ZEND_ASSERT(winver != NULL);
zend_string *build_with_version = strpprintf(0, "build %d (%s)", dwBuild, winver); zend_string *build_with_version = strpprintf(0, "build %lu (%s)", dwBuild, winver);
efree(winver); efree(winver);
return build_with_version; return build_with_version;
} else if (mode == 'm') { } else if (mode == 'm') {
@ -702,7 +702,7 @@ PHPAPI zend_string *php_get_uname(char mode)
} }
} }
zend_string *build_with_all_info = strpprintf(0, "%s %s %d.%d build %d (%s) %s", zend_string *build_with_all_info = strpprintf(0, "%s %s %lu.%lu build %lu (%s) %s",
"Windows NT", ComputerName, dwWindowsMajorVersion, dwWindowsMinorVersion, dwBuild, "Windows NT", ComputerName, dwWindowsMajorVersion, dwWindowsMinorVersion, dwBuild,
winver ? winver: "unknown", wincpu); winver ? winver: "unknown", wincpu);
efree(winver); efree(winver);

View file

@ -73,7 +73,7 @@ PHP_FUNCTION(readlink)
if (ret == -1) { if (ret == -1) {
#ifdef PHP_WIN32 #ifdef PHP_WIN32
php_error_docref(NULL, E_WARNING, "readlink failed to read the symbolic link (%s), error %d", link, GetLastError()); php_error_docref(NULL, E_WARNING, "readlink failed to read the symbolic link (%s), error %ld", link, GetLastError());
#else #else
php_error_docref(NULL, E_WARNING, "%s", strerror(errno)); php_error_docref(NULL, E_WARNING, "%s", strerror(errno));
#endif #endif

View file

@ -2191,7 +2191,7 @@ zend_result php_module_startup(sapi_module_struct *sf, zend_module_entry *additi
#ifdef PHP_WIN32 #ifdef PHP_WIN32
char *img_err; char *img_err;
if (!php_win32_crt_compatible(&img_err)) { if (!php_win32_crt_compatible(&img_err)) {
php_error(E_CORE_WARNING, img_err); php_error(E_CORE_WARNING, "%s", img_err);
efree(img_err); efree(img_err);
return FAILURE; return FAILURE;
} }

View file

@ -378,7 +378,7 @@ static void php_load_zend_extension_cb(void *arg)
#ifdef PHP_WIN32 #ifdef PHP_WIN32
if (!php_win32_image_compatible(handle, &err1)) { if (!php_win32_image_compatible(handle, &err1)) {
php_error(E_CORE_WARNING, err1); php_error(E_CORE_WARNING, "%s", err1);
efree(err1); efree(err1);
efree(libpath); efree(libpath);
DL_UNLOAD(handle); DL_UNLOAD(handle);

View file

@ -610,7 +610,7 @@ PHP_FUNCTION(sapi_windows_cp_set)
cp = php_win32_cp_set_by_id((DWORD)id); cp = php_win32_cp_set_by_id((DWORD)id);
} }
if (!cp) { if (!cp) {
php_error_docref(NULL, E_WARNING, "Failed to switch to codepage %d", id); php_error_docref(NULL, E_WARNING, "Failed to switch to codepage " ZEND_LONG_FMT, id);
RETURN_FALSE; RETURN_FALSE;
} }

View file

@ -468,7 +468,7 @@ static zend_always_inline BOOL is_compatible(HMODULE handle, BOOL is_smaller, ch
if (GetModuleFileName(handle, buf, sizeof(buf)) != 0) { if (GetModuleFileName(handle, buf, sizeof(buf)) != 0) {
spprintf(err, 0, format, buf, major, minor, PHP_LINKER_MAJOR, PHP_LINKER_MINOR); spprintf(err, 0, format, buf, major, minor, PHP_LINKER_MAJOR, PHP_LINKER_MINOR);
} else { } else {
spprintf(err, 0, "Can't retrieve the module name (error %u)", GetLastError()); spprintf(err, 0, "Can't retrieve the module name (error %lu)", GetLastError());
} }
return FALSE; return FALSE;
} }
@ -493,7 +493,7 @@ PHP_WINUTIL_API BOOL php_win32_crt_compatible(char **err)
# endif # endif
HMODULE handle = GetModuleHandle(crt_name); HMODULE handle = GetModuleHandle(crt_name);
if (handle == NULL) { if (handle == NULL) {
spprintf(err, 0, "Can't get handle of module %s (error %u)", crt_name, GetLastError()); spprintf(err, 0, "Can't get handle of module %s (error %lu)", crt_name, GetLastError());
return FALSE; return FALSE;
} }
return is_compatible(handle, FALSE, "'%s' %u.%u is not compatible with this PHP build linked with %d.%d", err); return is_compatible(handle, FALSE, "'%s' %u.%u is not compatible with this PHP build linked with %d.%d", err);