diff options
author | Tim Ruehsen <tim.ruehsen@gmx.de> | 2019-12-06 22:20:06 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2019-12-06 15:20:06 -0700 |
commit | 1cd4fe3d4302f0db3dd38c720c69f0c51137ff13 (patch) | |
tree | d2af2546bc2fe82d48c1104cef672f76d02bee40 /libiberty | |
parent | 070455950d3234009059b252d9b5f393682d20c6 (diff) |
Fix read buffer overflow in split_directories
* make-relative-prefix.c (split_directories):
Return early on empty 'name'
From-SVN: r279068
Diffstat (limited to 'libiberty')
-rw-r--r-- | libiberty/ChangeLog | 5 | ||||
-rw-r--r-- | libiberty/make-relative-prefix.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index a766bd8af69..2df645f213c 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,8 @@ +2019-12-06 Tim Ruehsen <tim.ruehsen@gmx.de> + + * make-relative-prefix.c (split_directories): + Return early on empty 'name' + 2019-11-16 Tim Ruehsen <tim.ruehsen@gmx.de> * cp-demangle.c (d_print_init): Remove const from 4th param. diff --git a/libiberty/make-relative-prefix.c b/libiberty/make-relative-prefix.c index ec0b0ee7494..2ff2af8a59c 100644 --- a/libiberty/make-relative-prefix.c +++ b/libiberty/make-relative-prefix.c @@ -122,6 +122,9 @@ split_directories (const char *name, int *ptr_num_dirs) const char *p, *q; int ch; + if (!*name) + return NULL; + /* Count the number of directories. Special case MSDOS disk names as part of the initial directory. */ p = name; |