--- src/sys/kern/vfs_journal.c 2007/01/12 06:06:57 1.31 +++ src/sys/kern/vfs_journal.c 2007/01/25 18:19:31 1.32 @@ -1160,7 +1160,8 @@ jrecord_write_path(struct jrecord *jrec, again: pathlen = 0; for (scan = ncp; scan; scan = scan->nc_parent) { - pathlen += scan->nc_nlen + 1; + if (scan->nc_nlen > 0) + pathlen += scan->nc_nlen + 1; } if (pathlen <= sizeof(buf)) @@ -1173,6 +1174,8 @@ again: */ index = pathlen; for (scan = ncp; scan; scan = scan->nc_parent) { + if (scan->nc_nlen == 0) + continue; if (scan->nc_nlen >= index) { if (base != buf) kfree(base, M_TEMP);