aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2025-04-16 08:55:04 +0930
committerAlan Modra <amodra@gmail.com>2025-04-16 14:37:17 +0930
commitd4c57933d6f70addefca9a4159cd15bed9e3701b (patch)
tree0639ed71c1d30456817dbf26cefd7370a5e8994c
parent280160a7d036a73e1dbd012da1f77651921a25a4 (diff)
downloadbinutils-d4c57933d6f70addefca9a4159cd15bed9e3701b.zip
binutils-d4c57933d6f70addefca9a4159cd15bed9e3701b.tar.gz
binutils-d4c57933d6f70addefca9a4159cd15bed9e3701b.tar.bz2
Re: windres: buffer overflow in bin_to_res_toolbar
Commit 9e68cae4fdfb broke the check I added in commit 4846e543de95. Add missing "return NULL".
-rw-r--r--binutils/resbin.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/binutils/resbin.c b/binutils/resbin.c
index 1698e14..65bdb34 100644
--- a/binutils/resbin.c
+++ b/binutils/resbin.c
@@ -1460,7 +1460,10 @@ bin_to_res_toolbar (windres_bfd *wrbfd, const bfd_byte *data,
it = (rc_toolbar_item *) res_alloc (sizeof (rc_toolbar_item));
it->id.named = 0;
if (length < 4)
- toosmall (_("toolbar item"));
+ {
+ toosmall (_("toolbar item"));
+ return NULL;
+ }
it->id.u.id = (int) windres_get_32 (wrbfd, data, 4);
it->prev = it->next = NULL;
data += 4;