summaryrefslogtreecommitdiff
blob: 62e231c646f51868613823142210604d7d0c46d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
###################################################################
# Added by Tavis Ormandy <taviso@gentoo.org> 01/05/2003
# Reproduce with 
#
#  $ xargs <<< ${EMTPY_VARIABLE}
#  Segmentation fault.
#
# note: bash will still give you a "\n" with this patch, but this is 
# standard behaviour, if you need proof:
#
#  $ wc -l <<< ""
###############################
diff -u bash-2.05b.orig/redir.c bash-2.05b/redir.c
--- bash-2.05b.orig/redir.c	2002-03-12 20:27:38.000000000 +0000
+++ bash-2.05b/redir.c	2003-05-01 13:04:07.000000000 +0100
@@ -263,8 +263,10 @@
   int herelen, n, e;
 
   herestr = expand_string_to_string (redirectee->word, 0);
-  herelen = strlen (herestr);
 
+  /* verify string wasnt empty */
+  herelen = (herestr == NULL) ? 0 : strlen (herestr);
+  
   n = write (fd, herestr, herelen);
   if (n == herelen)
     {