Discussion:
[newlib-cygwin] Cygwin: TEST only: Add a buffer underrun assertion to
Corinna Vinschen
2018-05-29 16:23:24 UTC
Permalink
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=7d00a5e320db60b462be5b330fc1358f706add76

commit 7d00a5e320db60b462be5b330fc1358f706add76
Author: Corinna Vinschen <***@vinschen.de>
Date: Tue May 29 18:04:14 2018 +0200

Cygwin: TEST only: Add a buffer underrun assertion to symlink_info::check

Thanks to Ken Harris <***@mathworks.com> for the diagnosis
which led to a buffer underrun in this loop.

Revert before release.

Signed-off-by: Corinna Vinschen <***@vinschen.de>

Diff:
---
winsup/cygwin/path.cc | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index a132a0a..94f4e88 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -57,6 +57,7 @@
#include <sys/param.h>
#include <sys/cygwin.h>
#include <wctype.h>
+#include <assert.h>
#include "cygerrno.h"
#include "path.h"
#include "fhandler.h"
@@ -2800,7 +2801,7 @@ restart:
if (*p != '.' && *p != ' ')
{
while (*--p != '\\')
- ;
+ assert(p >= path);
if (*++p != ' ')
p = NULL;
}

Loading...