gnu: orbit2: Fix bug on 32-bit systems.
* gnu/packages/patches/orbit2-fix-array-allocation-32bit.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it here. * gnu/packages/gnome.scm (orbit2): Use it here. Change-Id: I72e10fc9d8a5421a7ec6b4ccf1425008b322ea3f Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail>master
parent
eefcc7cafa
commit
fe2b2f860e
|
@ -1781,6 +1781,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/opentaxsolver-file-browser-fix.patch \
|
||||
%D%/packages/patches/open-zwave-hidapi.patch \
|
||||
%D%/packages/patches/orangeduck-mpc-fix-pkg-config.patch \
|
||||
%D%/packages/patches/orbit2-fix-array-allocation-32bit.patch \
|
||||
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \
|
||||
%D%/packages/patches/osip-CVE-2017-7853.patch \
|
||||
%D%/packages/patches/ots-no-include-missing-file.patch \
|
||||
|
|
|
@ -3797,7 +3797,9 @@ functionality was designed to be as reusable and portable as possible.")
|
|||
upstream-name "-" version ".tar.bz2")))
|
||||
(sha256
|
||||
(base32
|
||||
"0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
|
||||
"0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))
|
||||
(patches
|
||||
(search-patches "orbit2-fix-array-allocation-32bit.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
From 28067b88ad91e794675734bc92bd9c8653b4a46a Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <28067b88ad91e794675734bc92bd9c8653b4a46a.1709973702.git.vivien@planete-kraus.eu>
|
||||
From: Vivien Kraus <vivien@planete-kraus.eu>
|
||||
Date: Sat, 9 Mar 2024 09:36:56 +0100
|
||||
Subject: [PATCH] corba-loc: Do not allocate more tokens than necessary.
|
||||
|
||||
To split the list of locations, the code calls g_strsplit with the
|
||||
last argument set to G_MAXINT. It means that g_strsplit will try to
|
||||
allocate a huge array (G_MAXINT + 1, for the final NULL), mostly
|
||||
filled with NULL. Unfortunately, on 32-bit systems, this is one past
|
||||
the authorized length for an array. Previous versions of glib would
|
||||
not care, but the new version now raises an error if this happens.
|
||||
|
||||
To get an array of the appropriate size, we can just pass -1 to the
|
||||
last argument.
|
||||
|
||||
* src/orb/orb-core/corba-loc.c (ORBit_corbaloc_parse): Replace
|
||||
G_MAXINT with -1.
|
||||
---
|
||||
src/orb/orb-core/corba-loc.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/orb/orb-core/corba-loc.c b/src/orb/orb-core/corba-loc.c
|
||||
index abfcaa29..6492d392 100644
|
||||
--- a/src/orb/orb-core/corba-loc.c
|
||||
+++ b/src/orb/orb-core/corba-loc.c
|
||||
@@ -309,7 +309,7 @@ ORBit_corbaloc_parse (const gchar *corbaloc)
|
||||
if (!(objkey = orbit_url_decode (okey)))
|
||||
goto ret_error;
|
||||
|
||||
- if (!(token = g_strsplit (loc, ",", G_MAXINT)))
|
||||
+ if (!(token = g_strsplit (loc, ",", -1)))
|
||||
goto ret_error;
|
||||
|
||||
/* [ 'iiop' ] ':' [ '//' ] [ version '@' ] host [ ':' port ] */
|
||||
|
||||
base-commit: 144be2e9860286c83f009e7689250e0af977cc5e
|
||||
--
|
||||
2.41.0
|
||||
|
Reference in New Issue