Skip to content

Commit 8f7c623

Browse files
committed
Fix incorrect printf format specifier
PRI macros should be used for uintptr_t. Calling a printf-like function with the wrong type of arguments causes unpredictable behavior.
1 parent d8cc0b0 commit 8f7c623

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

src/PikaObj.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
#include "PikaObj.h"
3030
#include <stdint.h>
31+
#include <inttypes.h>
3132
#include "BaseObj.h"
3233
#include "PikaCompiler.h"
3334
#include "PikaParser.h"
@@ -2795,7 +2796,7 @@ void pika_eventListener_registEventCallback(PikaEventListener* listener,
27952796
Arg* eventCallback) {
27962797
pika_assert(NULL != listener);
27972798
char hash_str[32] = {0};
2798-
pika_sprintf(hash_str, "C%d", eventId);
2799+
pika_sprintf(hash_str, "C%" PRIuPTR, eventId);
27992800
obj_newDirectObj(listener, hash_str, New_TinyObj);
28002801
PikaObj* oHandle = obj_getPtr(listener, hash_str);
28012802
obj_setEventCallback(oHandle, eventId, eventCallback, listener);
@@ -2919,7 +2920,7 @@ Arg* __eventListener_runEvent(PikaEventListener* listener,
29192920
pika_debug("event handler: %p", handler);
29202921
if (NULL == handler) {
29212922
pika_platform_printf(
2922-
"Error: can not find event handler by id: [0x%02x]\r\n", eventId);
2923+
"Error: can not find event handler by id: [0x%02" PRIxPTR "]\r\n", eventId);
29232924
return NULL;
29242925
}
29252926
Arg* eventCallBack = obj_getArg(handler, "eventCallBack");

0 commit comments

Comments
 (0)