diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2018-05-29 18:04:14 +0200 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2018-05-29 18:23:14 +0200 |
commit | 7d00a5e320db60b462be5b330fc1358f706add76 (patch) | |
tree | 7c009c31553a679baf7863f1694efab4689e1eec /winsup/cygwin | |
parent | 4a3d0a5a5d829c05868a34658eb45731dbb5112b (diff) | |
download | newlib-7d00a5e320db60b462be5b330fc1358f706add76.zip newlib-7d00a5e320db60b462be5b330fc1358f706add76.tar.gz newlib-7d00a5e320db60b462be5b330fc1358f706add76.tar.bz2 |
Cygwin: TEST only: Add a buffer underrun assertion to symlink_info::check
Thanks to Ken Harris <Ken.Harris@mathworks.com> for the diagnosis
which led to a buffer underrun in this loop.
Revert before release.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup/cygwin')
-rw-r--r-- | winsup/cygwin/path.cc | 3 |
1 files changed, 2 insertions, 1 deletions
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; } |