https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=7d00a5e320db60b462be5b330fc1358f706add76

commit 7d00a5e320db60b462be5b330fc1358f706add76
Author: Corinna Vinschen <cori...@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 <ken.har...@mathworks.com> for the diagnosis
    which led to a buffer underrun in this loop.
    
    Revert before release.
    
    Signed-off-by: Corinna Vinschen <cori...@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;
                }

Reply via email to