Loading...
stdio/FreeBSD/vfprintf.c Libc-997.90.3 Libc-1158.1.2
--- Libc/Libc-997.90.3/stdio/FreeBSD/vfprintf.c
+++ Libc/Libc-1158.1.2/stdio/FreeBSD/vfprintf.c
@@ -890,11 +890,11 @@
 			if (flags & LONGINT) {
 				wchar_t *wcp;
 
-				if (convbuf != NULL)
-					free(convbuf);
-				if ((wcp = GETARG(wchar_t *)) == NULL)
+				free(convbuf);
+				if ((wcp = GETARG(wchar_t *)) == NULL) {
+					convbuf = NULL;
 					cp = "(null)";
-				else {
+				} else {
 					convbuf = __wcsconv(wcp, prec, loc);
 					if (convbuf == NULL) {
 						fp->_flags |= __SERR;
@@ -1390,8 +1390,7 @@
 	if (dtoaresult != NULL)
 		freedtoa(dtoaresult);
 #endif
-	if (convbuf != NULL)
-		free(convbuf);
+	free(convbuf);
 	if (__sferror(fp))
 		ret = EOF;
 	if ((argtable != NULL) && (argtable != statargtable))