mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-13 00:10:21 +00:00
3d3d03479d
The ucode VM always passes 64bit integer values to sprintf implementation while the `%d` format expects 32bit integers on 32bit platforms, leading to incorrect formatting results. Temporarily solve the issue by casting the numeric argument to int until a more thorough fix arrives with the next update. Fixes: FS#4234 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
12 lines
256 B
Diff
12 lines
256 B
Diff
--- a/lib.c
|
|
+++ b/lib.c
|
|
@@ -1438,7 +1438,7 @@ uc_printf_common(uc_vm_t *vm, size_t nar
|
|
|
|
switch (t) {
|
|
case UC_INTEGER:
|
|
- ucv_stringbuf_printf(buf, sfmt, arg.n);
|
|
+ ucv_stringbuf_printf(buf, sfmt, (int)arg.n);
|
|
break;
|
|
|
|
case UC_DOUBLE:
|