From 12fbad8c30256b0b7a9681f0e7a63cf0ca690d1f Mon Sep 17 00:00:00 2001 From: vlefevre Date: Mon, 30 Jul 2018 09:32:15 +0000 Subject: [src/vasprintf.c] Fixed "store to null pointer" and free of bad pointer in case of error. (merged part of changeset r12957 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@12965 280ebfd0-de03-0410-8827-d642c229c3f4 --- src/vasprintf.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/vasprintf.c b/src/vasprintf.c index b4fee3477..19d9998bc 100644 --- a/src/vasprintf.c +++ b/src/vasprintf.c @@ -2320,8 +2320,10 @@ mpfr_vasnprintf_aux (char **ptr, char *Buf, size_t size, const char *fmt, } MPFR_SAVE_EXPO_FREE (expo); - *ptr = NULL; - mpfr_free_func (buf.start, buf.size); + if (ptr != NULL) /* implement mpfr_vasprintf */ + *ptr = NULL; + if (ptr != NULL || size != 0) + mpfr_free_func (buf.start, buf.size); return -1; } -- cgit v1.2.1