Synopsis: off-by-one error in realpath(3)
NetBSD versions: 1.6.1, 1.6, 1.5.3, 1.5.2, 1.5.1, 1.5
Thanks to: Jun-ichiro itojun Hagino
Reported in NetBSD Security Advisory: NetBSD-SA2003-011


Index: lib/libc/gen/getcwd.c
===================================================================
RCS file: /cvsroot/src/lib/libc/gen/getcwd.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -c -r1.29 -r1.30
*** getcwd.c    2003/08/03 04:12:01     1.29
--- getcwd.c    2003/08/03 04:14:00     1.30
***************
*** 175,182 ****
                       goto err1;
               }
               if (rootd == 0)
!                       (void)strcat(resolved, "/"); /* XXX: strcat is safe */
!               (void)strcat(resolved, wbuf);   /* XXX: strcat is safe */
       }

       /* Go back to where we came from. */
--- 175,182 ----
                       goto err1;
               }
               if (rootd == 0)
!                       (void)strlcat(resolved, "/", MAXPATHLEN);
!               (void)strlcat(resolved, wbuf, MAXPATHLEN);
       }

       /* Go back to where we came from. */