diff options
author | markus@openbsd.org <markus@openbsd.org> | 2020-03-06 18:12:55 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2020-03-13 13:13:30 +1100 |
commit | 6fb6f186cb62a6370fba476b6a03478a1e95c30d (patch) | |
tree | d971345446236ac6e506ff1847579486b778a8fd /utf8.c | |
parent | 714e1cbca17daa13f4f98978cf9e0695d4b2e0a4 (diff) |
upstream: vasnmprintf allocates str and returns -1; ok djm
OpenBSD-Commit-ID: dae4c9e83d88471bf3b3f89e3da7a107b44df11c
Diffstat (limited to 'utf8.c')
-rw-r--r-- | utf8.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: utf8.c,v 1.8 2018/08/21 13:56:27 schwarze Exp $ */ | 1 | /* $OpenBSD: utf8.c,v 1.9 2020/03/06 18:12:55 markus Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org> | 3 | * Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org> |
4 | * | 4 | * |
@@ -241,7 +241,7 @@ int | |||
241 | snmprintf(char *str, size_t sz, int *wp, const char *fmt, ...) | 241 | snmprintf(char *str, size_t sz, int *wp, const char *fmt, ...) |
242 | { | 242 | { |
243 | va_list ap; | 243 | va_list ap; |
244 | char *cp; | 244 | char *cp = NULL; |
245 | int ret; | 245 | int ret; |
246 | 246 | ||
247 | va_start(ap, fmt); | 247 | va_start(ap, fmt); |
@@ -263,11 +263,13 @@ snmprintf(char *str, size_t sz, int *wp, const char *fmt, ...) | |||
263 | int | 263 | int |
264 | vfmprintf(FILE *stream, const char *fmt, va_list ap) | 264 | vfmprintf(FILE *stream, const char *fmt, va_list ap) |
265 | { | 265 | { |
266 | char *str; | 266 | char *str = NULL; |
267 | int ret; | 267 | int ret; |
268 | 268 | ||
269 | if ((ret = vasnmprintf(&str, INT_MAX, NULL, fmt, ap)) < 0) | 269 | if ((ret = vasnmprintf(&str, INT_MAX, NULL, fmt, ap)) < 0) { |
270 | free(str); | ||
270 | return -1; | 271 | return -1; |
272 | } | ||
271 | if (fputs(str, stream) == EOF) | 273 | if (fputs(str, stream) == EOF) |
272 | ret = -1; | 274 | ret = -1; |
273 | free(str); | 275 | free(str); |