aboutsummaryrefslogtreecommitdiff
path: root/contrib/file/src/vasprintf.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/file/src/vasprintf.c')
-rw-r--r--contrib/file/src/vasprintf.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/contrib/file/src/vasprintf.c b/contrib/file/src/vasprintf.c
index 9b2cecb3ca75..940e8a4a3630 100644
--- a/contrib/file/src/vasprintf.c
+++ b/contrib/file/src/vasprintf.c
@@ -108,7 +108,7 @@ you use strange formats.
#include "file.h"
#ifndef lint
-FILE_RCSID("@(#)$File: vasprintf.c,v 1.19 2021/02/23 00:51:11 christos Exp $")
+FILE_RCSID("@(#)$File: vasprintf.c,v 1.23 2022/09/24 20:30:13 christos Exp $")
#endif /* lint */
#include <assert.h>
@@ -139,8 +139,6 @@ typedef struct {
size_t pseudo_len; /* total length of output text if it were not limited in size */
size_t maxlen;
va_list vargs; /* pointer to current position into vargs */
- char * sprintf_string;
- FILE * fprintf_file;
} xprintf_struct;
/*
@@ -595,8 +593,6 @@ static int core(xprintf_struct *s)
}
/* for (v)asnprintf */
- dummy_base = s->buffer_base;
-
dummy_base = s->buffer_base + s->real_len;
save_len = s->real_len;
@@ -625,6 +621,7 @@ int vasprintf(char **ptr, const char *format_string, va_list vargs)
xprintf_struct s;
int retval;
+ memset(&s, 0, sizeof(s));
s.src_string = format_string;
#ifdef va_copy
va_copy (s.vargs, vargs);
@@ -635,7 +632,7 @@ int vasprintf(char **ptr, const char *format_string, va_list vargs)
# ifdef WIN32
s.vargs = vargs;
# else
- memcpy (&s.vargs, &vargs, sizeof (s.va_args));
+ memcpy (&s.vargs, &vargs, sizeof (s.vargs));
# endif /* WIN32 */
# endif /* __va_copy */
#endif /* va_copy */