diff options
-rw-r--r-- | src/vasprintf.c | 6 |
1 files 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; } |