summary refs log tree commit diff
path: root/posix/wordexp.c
diff options
context:
space:
mode:
Diffstat (limited to 'posix/wordexp.c')
-rw-r--r--posix/wordexp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/posix/wordexp.c b/posix/wordexp.c
index 765d14d81f..adece95ef8 100644
--- a/posix/wordexp.c
+++ b/posix/wordexp.c
@@ -1809,7 +1809,7 @@ envsubst:
 	    /* Substitute parameter */
 	    break;
 
-	  if (free_value)
+	  if (free_value && value)
 	    free (value);
 
 	  if (!colon_seen && value)
@@ -1827,7 +1827,7 @@ envsubst:
 	case ACT_NONNULL_SUBST:
 	  if (value && (*value || !colon_seen))
 	    {
-	      if (free_value)
+	      if (free_value && value)
 		free (value);
 
 	      value = pattern ? __strdup (pattern) : pattern;