Tue, 16 Jan 2024 23:15:36 +0100
fix missing va_end() calls
src/printf.c | file | annotate | diff | comparison | revisions |
1.1 --- a/src/printf.c Tue Jan 16 23:13:01 2024 +0100 1.2 +++ b/src/printf.c Tue Jan 16 23:15:36 2024 +0100 1.3 @@ -61,17 +61,21 @@ 1.4 va_copy(ap2, ap); 1.5 int ret = vsnprintf(buf, CX_PRINTF_SBO_SIZE, fmt, ap); 1.6 if (ret < 0) { 1.7 + va_end(ap2); 1.8 return ret; 1.9 } else if (ret < CX_PRINTF_SBO_SIZE) { 1.10 + va_end(ap2); 1.11 return (int) wfc(buf, 1, ret, stream); 1.12 } else { 1.13 int len = ret + 1; 1.14 char *newbuf = malloc(len); 1.15 if (!newbuf) { 1.16 + va_end(ap2); 1.17 return -1; 1.18 } 1.19 1.20 ret = vsnprintf(newbuf, len, fmt, ap2); 1.21 + va_end(ap2); 1.22 if (ret > 0) { 1.23 ret = (int) wfc(newbuf, 1, ret, stream); 1.24 } 1.25 @@ -124,6 +128,7 @@ 1.26 } 1.27 } 1.28 } 1.29 + va_end(ap2); 1.30 return s; 1.31 } 1.32