PR26431 UBSAN: pe-dll.c:568 null pointer bsearch
PR 26431
* pe-dll.c (auto_export): Don't call bsearch with zero count.
diff --git a/ld/ChangeLog b/ld/ChangeLog
index a12f913..882e1c9 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2020-08-26 Alan Modra <amodra@gmail.com>
+
+ PR 26431
+ * pe-dll.c (auto_export): Don't call bsearch with zero count.
+
2020-08-25 Alan Modra <amodra@gmail.com>
* testsuite/ld-libs/libs.exp: Don't run on sh-pe, tic30 or tic54x.
diff --git a/ld/pe-dll.c b/ld/pe-dll.c
index 3e8fe1b..39c8e4c 100644
--- a/ld/pe-dll.c
+++ b/ld/pe-dll.c
@@ -565,8 +565,9 @@
key.name = key.its_name = (char *) n;
/* Return false if n is in the d->exports table. */
- if (bsearch (&key, d->exports, d->num_exports,
- sizeof (pe_def_file->exports[0]), pe_export_sort))
+ if (d->num_exports != 0
+ && bsearch (&key, d->exports, d->num_exports,
+ sizeof (pe_def_file->exports[0]), pe_export_sort))
return 0;
if (pe_dll_do_default_excludes)