summaryrefslogtreecommitdiff
path: root/utf8.c
diff options
context:
space:
mode:
authormarkus@openbsd.org <markus@openbsd.org>2020-03-06 18:12:55 +0000
committerDamien Miller <djm@mindrot.org>2020-03-13 13:13:30 +1100
commit6fb6f186cb62a6370fba476b6a03478a1e95c30d (patch)
treed971345446236ac6e506ff1847579486b778a8fd /utf8.c
parent714e1cbca17daa13f4f98978cf9e0695d4b2e0a4 (diff)
upstream: vasnmprintf allocates str and returns -1; ok djm
OpenBSD-Commit-ID: dae4c9e83d88471bf3b3f89e3da7a107b44df11c
Diffstat (limited to 'utf8.c')
-rw-r--r--utf8.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/utf8.c b/utf8.c
index db7cb8f35..b3d300478 100644
--- a/utf8.c
+++ b/utf8.c
@@ -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
241snmprintf(char *str, size_t sz, int *wp, const char *fmt, ...) 241snmprintf(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, ...)
263int 263int
264vfmprintf(FILE *stream, const char *fmt, va_list ap) 264vfmprintf(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);