SOURCES: sed-follow-relfix.patch (NEW) - fix relative . dir

arekm arekm at pld-linux.org
Mon Nov 10 21:37:33 CET 2008


Author: arekm                        Date: Mon Nov 10 20:37:33 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- fix relative . dir

---- Files affected:
SOURCES:
   sed-follow-relfix.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/sed-follow-relfix.patch
diff -u /dev/null SOURCES/sed-follow-relfix.patch:1.1
--- /dev/null	Mon Nov 10 21:37:34 2008
+++ SOURCES/sed-follow-relfix.patch	Mon Nov 10 21:37:28 2008
@@ -0,0 +1,25 @@
+--- sed/lib/utils.c	2008-11-10 21:35:26.921679024 +0100
++++ sed/lib/utils.c	2008-11-10 21:34:45.734498611 +0100
+@@ -329,7 +329,7 @@
+ ck_follow_symlink(const char * fname)
+ {
+   static struct stat statbuf;
+-  int err;
++  int err, len;
+   char * dir;
+ 
+   static size_t bufsize = 1024;
+@@ -359,10 +359,10 @@
+ 	    buf2 [err] = '\0';
+ 
+ 	  /* need to handle relative paths with care */
+-	  if (buf2[0] != '/')
++	  dir = dirname (buf);    // dir part of orig path
++	  len = strlen (dir); // orig path len
++	  if (buf2[0] != '/' && len != 1 && dir[0] != '.')
+ 	    {
+-	      dir = dirname (buf);    // dir part of orig path
+-	      int len = strlen (dir); // orig path len
+ 	      buf[len] = '/';
+ 	      strncpy (buf+len+1, buf2, bufsize - len - 1);
+ 	      if (buf[bufsize-1] != 0)
================================================================


More information about the pld-cvs-commit mailing list