diff options
author | Alan Modra <amodra@gmail.com> | 2025-08-02 10:12:21 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2025-08-02 10:20:15 +0930 |
commit | 891d1654d7314fa520f708dbc5f1bf855d15bd40 (patch) | |
tree | 6b683d0df40ad941a816b712e26a6aef5ed4ca48 /binutils | |
parent | 56639a7e41164834abc5dccb2789b64df63b5692 (diff) | |
download | gdb-master.zip gdb-master.tar.gz gdb-master.tar.bz2 |
Commit c6c8d0b82175 went completely the wrong way. "key" needs to be
NULL as that reads a different type of data.
PR 33244
* resbin.c (get_version_header): Don't pass a NULL key on to
toosmall.
(bin_to_res_version): Restore NULL key cases.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/resbin.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/binutils/resbin.c b/binutils/resbin.c index 889126e..fa77cd4 100644 --- a/binutils/resbin.c +++ b/binutils/resbin.c @@ -1052,7 +1052,7 @@ get_version_header (windres_bfd *wrbfd, const bfd_byte *data, { if (length < 8) { - toosmall (key); + toosmall (key ? key : _("version header")); return false; } @@ -1250,7 +1250,7 @@ bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data, vst = res_alloc (sizeof (rc_ver_stringtable)); - if (!get_version_header (wrbfd, data, length, "version stringtable", + if (!get_version_header (wrbfd, data, length, NULL, &vst->language, &stverlen, &vallen, &type, &off)) return NULL; @@ -1284,7 +1284,7 @@ bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data, vs = res_alloc (sizeof (rc_ver_stringinfo)); - if (!get_version_header (wrbfd, data, length, "version string", + if (!get_version_header (wrbfd, data, length, NULL, &vs->key, &sverlen, &vallen, &type, &off)) return NULL; @@ -1348,7 +1348,7 @@ bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data, data += off; length -= off; - if (!get_version_header (wrbfd, data, length, "version varfileinfo", + if (!get_version_header (wrbfd, data, length, NULL, &vi->u.var.key, &verlen, &vallen, &type, &off)) return NULL; |