backquote expansion bug in /bin/sh ( fix included )

Simon 'corecode' Schubert corecode at fs.ei.tum.de
Wed Feb 4 15:55:42 PST 2004


On 04.02.2004, at 21:42, Andrew Atrens wrote:
Here's a patch to sh, which fixes this -

"/usr/bin/cvs" -z3 -Q diff -N -b -B -kk  -r 1.3 -r 1.3.2.1 "expand.c"
Index: expand.c
===================================================================
RCS file: /usr/dfly/repo/src/bin/sh/expand.c,v
retrieving revision 1.3
retrieving revision 1.3.2.1
diff -b -B -r1.3 -r1.3.2.1
472c472
<       for (p--; lastc == '\n'; lastc = *--p)
---
      for ( ; *(dest-1) == '\n' ; )
It lacks some bounds checking. Under sucky circumstances both old and 
new version will eat back up the stack...

How about (didn't try tho):

while (*(dest - 1) == '\n' && dest - stackblock() > startloc)

cheers
  simon
--
/"\   http://corecode.ath.cx/#donate
\ /
 \     ASCII Ribbon Campaign
/ \  Against HTML Mail and News
Attachment:
PGP.sig
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pgp00000.pgp
Type: application/octet-stream
Size: 186 bytes
Desc: "Description: This is a digitally signed message part"
URL: <http://lists.dragonflybsd.org/pipermail/bugs/attachments/20040204/5b80fa9c/attachment-0017.obj>


More information about the Bugs mailing list