Files
core/system/devel/binutils/files/gentoo/0016-Re-resbin-don-t-pass-NULL-as-printf-s-arg.patch
2025-11-07 17:48:43 +03:00

63 lines
2.0 KiB
Diff

From 3dbec0d8fd2fe3e9549c8ff15c7e6c42a987222d Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@gmail.com>
Date: Sat, 2 Aug 2025 10:12:21 +0930
Subject: [PATCH 16/23] Re: resbin: don't pass NULL as printf %s arg
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.
(cherry picked from commit 891d1654d7314fa520f708dbc5f1bf855d15bd40)
(cherry picked from commit b09f71c1c4680a639ab83bb273aea1f3f4380a6a)
---
binutils/resbin.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/binutils/resbin.c b/binutils/resbin.c
index 889126e9e32..fa77cd43d23 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;
--
2.49.1