Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Dec 1998 00:27:20 -0500 (EST)
From:      "John W. DeBoskey" <jwd@unx.sas.com>
To:        freebsd-current@FreeBSD.ORG
Subject:   Bug in pax -s option w/ fix
Message-ID:  <199812040527.AAA15833@bb01f39.unx.sas.com>

next in thread | raw e-mail | index | archive | help
Hi,

   There is a bug in /bin/pax -s option processing. The code assumes
that all pattern matches will occur at offset zero of the source
string. The bug causes the input source string pointer to be
incremented by the offset of the end of the match, instead of it's
length. The fix is to only increment the pointer by the length of the
pattern match (eo-so).

   Of course, the one example in the man page shows a situation where
the match occurs at offset 0.

   Would someone please review and commit the following patch created
on a 3.0-19981124-SNAP system. I assume that the NET2_REGEX side
is broken also, but I don't have access to a system to fix and test
that variation (what uses NET2_REGEX?).


--- /usr/src/bin/pax/pat_rep.c.old      Fri May 15 02:27:44 1998
+++ /usr/src/bin/pax/pat_rep.c  Fri Dec  4 00:11:44 1998
@@ -1002,7 +1002,7 @@
 #                      ifdef NET2_REGEX
                        inpt = pt->rcmp->endp[0];
 #                      else
-                       inpt += pm[0].rm_eo;
+                       inpt += pm[0].rm_eo - pm[0].rm_so;
 #                      endif
 
                        if ((outpt == endpt) || (*inpt == '\0'))



Thanks!
John

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812040527.AAA15833>