Module Name: src Committed By: ws Date: Mon Oct 18 11:08:26 UTC 2010
Modified Files: src/sys/lib/libsa: cd9660.c Log Message: Allow multiple path separators between/after directory names. Problem found while analyzing PR kern/43963. To generate a diff of this commit: cvs rdiff -u -r1.25 -r1.26 src/sys/lib/libsa/cd9660.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/lib/libsa/cd9660.c diff -u src/sys/lib/libsa/cd9660.c:1.25 src/sys/lib/libsa/cd9660.c:1.26 --- src/sys/lib/libsa/cd9660.c:1.25 Mon Mar 22 16:57:54 2010 +++ src/sys/lib/libsa/cd9660.c Mon Oct 18 11:08:26 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: cd9660.c,v 1.25 2010/03/22 16:57:54 jakllsch Exp $ */ +/* $NetBSD: cd9660.c,v 1.26 2010/10/18 11:08:26 ws Exp $ */ /* * Copyright (C) 1996 Wolfgang Solfrank. @@ -196,13 +196,14 @@ bno = isonum_732(pp->block) + isonum_711(pp->extlen); rc = ENOENT; - /* - * Remove extra separators - */ - while (*path == '/') - path++; while (*path) { + /* + * Remove extra separators + */ + while (*path == '/') + path++; + if ((char *)pp >= (char *)buf + psize) break; if (isonum_722(pp->parent) != parent)