Module Name:    src
Committed By:   christos
Date:           Tue Oct  6 17:36:25 UTC 2015

Modified Files:
        src/usr.bin/make: var.c

Log Message:
don't check for NULL before free() (Tilman Sauerbeck)


To generate a diff of this commit:
cvs rdiff -u -r1.195 -r1.196 src/usr.bin/make/var.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/make/var.c
diff -u src/usr.bin/make/var.c:1.195 src/usr.bin/make/var.c:1.196
--- src/usr.bin/make/var.c:1.195	Fri Jun 19 10:25:16 2015
+++ src/usr.bin/make/var.c	Tue Oct  6 13:36:25 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: var.c,v 1.195 2015/06/19 14:25:16 christos Exp $	*/
+/*	$NetBSD: var.c,v 1.196 2015/10/06 17:36:25 christos Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: var.c,v 1.195 2015/06/19 14:25:16 christos Exp $";
+static char rcsid[] = "$NetBSD: var.c,v 1.196 2015/10/06 17:36:25 christos Exp $";
 #else
 #include <sys/cdefs.h>
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)var.c	8.3 (Berkeley) 3/19/94";
 #else
-__RCSID("$NetBSD: var.c,v 1.195 2015/06/19 14:25:16 christos Exp $");
+__RCSID("$NetBSD: var.c,v 1.196 2015/10/06 17:36:25 christos Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -982,8 +982,7 @@ Var_Set(const char *name, const char *va
     }
 	
  out:
-    if (expanded_name != NULL)
-	free(expanded_name);
+    free(expanded_name);
     if (v != NULL)
 	VarFreeEnv(v, TRUE);
 }
@@ -1061,8 +1060,7 @@ Var_Append(const char *name, const char 
 	    Hash_SetValue(h, v);
 	}
     }
-    if (expanded_name != NULL)
-	free(expanded_name);
+    free(expanded_name);
 }
 
 /*-
@@ -1092,9 +1090,7 @@ Var_Exists(const char *name, GNode *ctxt
 	cp = Var_Subst(NULL, name, ctxt, FALSE);
     }
     v = VarFind(cp ? cp : name, ctxt, FIND_CMD|FIND_GLOBAL|FIND_ENV);
-    if (cp != NULL) {
-	free(cp);
-    }
+    free(cp);
     if (v == NULL) {
 	return(FALSE);
     } else {
@@ -2192,8 +2188,7 @@ VarGetPattern(GNode *ctxt, Var_Parse_Sta
 		     */
 		    cp2 = Var_Parse(cp, ctxt, errnum, &len, &freeIt);
 		    Buf_AddBytes(&buf, strlen(cp2), cp2);
-		    if (freeIt)
-			free(freeIt);
+		    free(freeIt);
 		    cp += len - 1;
 		} else {
 		    const char *cp2 = &cp[1];
@@ -2505,8 +2500,7 @@ ApplyModifiers(char *nstr, const char *t
 		(c = tstr[rlen]) != '\0' &&
 		c != ':' &&
 		c != endc) {
-		if (freeIt)
-		    free(freeIt);
+		free(freeIt);
 		goto apply_mods;
 	    }
 
@@ -2526,13 +2520,11 @@ ApplyModifiers(char *nstr, const char *t
 		if (nstr == var_Error
 		    || (nstr == varNoError && errnum == 0)
 		    || strlen(rval) != (size_t) used) {
-		    if (freeIt)
-			free(freeIt);
+		    free(freeIt);
 		    goto out;		/* error already reported */
 		}
 	    }
-	    if (freeIt)
-		free(freeIt);
+	    free(freeIt);
 	    if (*tstr == ':')
 		tstr++;
 	    else if (!*tstr && endc) {
@@ -2621,8 +2613,7 @@ ApplyModifiers(char *nstr, const char *t
 			    Error(emsg, nstr);
 			else
 			    Var_Set(v->name, newStr,  v_ctxt, 0);
-			if (newStr)
-			    free(newStr);
+			free(newStr);
 			break;
 		    case '?':
 			if ((v->flags & VAR_JUNK) == 0)
@@ -2704,8 +2695,7 @@ ApplyModifiers(char *nstr, const char *t
 
 			    cp2 = Var_Parse(cp, ctxt, errnum, &len, &freeIt);
 			    Buf_AddBytes(&buf, strlen(cp2), cp2);
-			    if (freeIt)
-				free(freeIt);
+			    free(freeIt);
 			    cp += len - 1;
 			} else {
 			    Buf_AddByte(&buf, *cp);
@@ -3543,10 +3533,8 @@ ApplyModifiers(char *nstr, const char *t
     if (delim != '\0')
 	Error("Unclosed substitution for %s (%c missing)",
 	      v->name, delim);
-    if (*freePtr) {
-	free(*freePtr);
-	*freePtr = NULL;
-    }
+    free(*freePtr);
+    *freePtr = NULL;
     return (var_Error);
 }
 
@@ -3689,8 +3677,7 @@ Var_Parse(const char *str, GNode *ctxt, 
 		if (rval != NULL) {
 		    Buf_AddBytes(&buf, strlen(rval), rval);
 		}
-		if (freeIt)
-		    free(freeIt);
+		free(freeIt);
 		tstr += rlen - 1;
 	    }
 	    else
@@ -3856,9 +3843,7 @@ Var_Parse(const char *str, GNode *ctxt, 
 		nstr = ApplyModifiers(nstr, tstr, startc, endc,
 				      v, ctxt, errnum, &used, freePtr);
 		tstr += used;
-		if (extraFree) {
-			free(extraFree);
-		}
+		free(extraFree);
 	} else {
 		*freePtr = extraFree;
 	}
@@ -4075,10 +4060,8 @@ Var_Subst(const char *var, const char *s
 		Buf_AddBytes(&buf, length, val);
 		trailingBslash = length > 0 && val[length - 1] == '\\';
 	    }
-	    if (freeIt) {
-		free(freeIt);
-		freeIt = NULL;
-	    }
+	    free(freeIt);
+	    freeIt = NULL;
 	}
     }
 

Reply via email to