Blob Blame History Raw
--- pax-3.4/src/tar.c.abs100	2005-08-01 18:17:58.000000000 +0200
+++ pax-3.4/src/tar.c	2007-06-20 10:44:54.000000000 +0200
@@ -1181,6 +1181,14 @@ name_split (name, len)
    * prefix we can find)
    */
   start = name + len - TNMSZ;
+  /* if filename is absolute and exactly TNMSZ in length,
+   * before we invoke the strict interpretation of /str below, we
+   * check to see if there is another slash further along which
+   * would allow a safe split. if this search fails then we hit
+   * the end of the string and fail in a similar manner
+   */
+  if((start == name) && (*start == '/'))
+    ++start;
   while ((*start != '\0') && (*start != '/'))
     ++start;