diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2022-05-11 08:56:01 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2022-05-11 16:56:49 +0300 |
commit | ee5e0dd8a3a93483c4a9e6ec14e5a9cb98647e39 (patch) | |
tree | 05b8ec0ccbaf94e72ea2e21095321951d7e6e932 /cord | |
parent | 8f72b3545c60e79b18b9cfc18ff6b72270da653e (diff) | |
download | bdwgc-ee5e0dd8a3a93483c4a9e6ec14e5a9cb98647e39.tar.gz |
Workaround 'signed to bigger unsigned value cast' defect in CORD_vsprintf
(fix of commit d82755f6f)
Issue #439 (bdwgc).
* cord/cordprnt.c (CORD_vsprintf): If long_arg==2 then cast result of
ec_len(result) to unsigned type first (before casting to size_t).
Diffstat (limited to 'cord')
-rw-r--r-- | cord/cordprnt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cord/cordprnt.c b/cord/cordprnt.c index 31f5e25b..ec07c790 100644 --- a/cord/cordprnt.c +++ b/cord/cordprnt.c @@ -239,7 +239,7 @@ int CORD_vsprintf(CORD * out, CORD format, va_list args) *pos_ptr = ec_len(result); } else if (long_arg == 2) { size_t * pos_ptr = va_arg(args, size_t *); - *pos_ptr = (size_t)ec_len(result); + *pos_ptr = (size_t)(unsigned)ec_len(result); } else if (long_arg > 0) { long * pos_ptr; pos_ptr = va_arg(args, long *); |