--- /dev/null
+--- 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)