[gcc/devel/omp/gcc-9] re PR plugins/90924 (lto-plugin/lto-plugin.c heap memory corruption due to insufficient sanitization
Tobias Burnus
burnus@gcc.gnu.org
Thu Mar 5 14:11:00 GMT 2020
https://gcc.gnu.org/g:daa31aea3049ebff072ecced5dcfe6d158539973
commit daa31aea3049ebff072ecced5dcfe6d158539973
Author: Richard Biener <rguenther@suse.de>
Date: Thu Jul 25 10:46:54 2019 +0000
re PR plugins/90924 (lto-plugin/lto-plugin.c heap memory corruption due to insufficient sanitization.)
2019-07-25 Richard Biener <rguenther@suse.de>
PR lto/90924
Backport from mainline
2019-07-12 Ren Kimura <rkx1209dev@gmail.com>
* simple-object-elf.c (simple_object_elf_match): Check zero value
shstrndx.
From-SVN: r273793
Diff:
---
libiberty/ChangeLog | 9 +++++++++
libiberty/simple-object-elf.c | 8 ++++++++
2 files changed, 17 insertions(+)
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 51f8edf..e049fc9 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,12 @@
+2019-07-25 Richard Biener <rguenther@suse.de>
+
+ PR lto/90924
+ Backport from mainline
+ 2019-07-12 Ren Kimura <rkx1209dev@gmail.com>
+
+ * simple-object-elf.c (simple_object_elf_match): Check zero value
+ shstrndx.
+
2019-05-03 Release Manager
* GCC 9.1.0 released.
diff --git a/libiberty/simple-object-elf.c b/libiberty/simple-object-elf.c
index 22c9ae7..3d49f33 100644
--- a/libiberty/simple-object-elf.c
+++ b/libiberty/simple-object-elf.c
@@ -549,6 +549,14 @@ simple_object_elf_match (unsigned char header[SIMPLE_OBJECT_MATCH_HEADER_LEN],
return NULL;
}
+ if (eor->shstrndx == 0)
+ {
+ *errmsg = "invalid ELF shstrndx == 0";
+ *err = 0;
+ XDELETE (eor);
+ return NULL;
+ }
+
return (void *) eor;
}
More information about the Gcc-cvs
mailing list