Pārlūkot izejas kodu

package/liblo: bump to version 0.32

* Drop upstreamed local patch
* Add local patch pending upstream to fix build failure as static
  library
* Re-enable ipv6 support since it's been fixed upstream[1]

Release notes:
https://liblo.sourceforge.net/NEWS.html

[1]:
https://sourceforge.net/p/liblo/git/ci/968dff4d576ca102525c81beddb36a623890424b/

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Giulio Benetti 4 nedēļas atpakaļ
vecāks
revīzija
009559d42c

+ 0 - 29
package/liblo/0001-Fix-use-after-free-warning-in-server.c.patch

@@ -1,29 +0,0 @@
-From 8187a8456c14eeb3af08c86ffa1228823c9ef1c5 Mon Sep 17 00:00:00 2001
-From: Guido Aulisi <guido.aulisi@gmail.com>
-Date: Sun, 25 Jun 2023 15:58:30 +0200
-Subject: [PATCH] Fix use-after-free warning in server.c
-
-That assignment is not necessary before returning
-
-Upstream: https://sourceforge.net/p/liblo/git/ci/8187a8456c14eeb3af08c86ffa1228823c9ef1c5/
-
-Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
----
- src/server.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/server.c b/src/server.c
-index ba02d8e..35c9ba5 100644
---- a/src/server.c
-+++ b/src/server.c
-@@ -2289,7 +2289,6 @@ int lo_server_del_lo_method(lo_server s, lo_method m)
-             free((void *) it->path);
-             free((void *) it->typespec);
-             free(it);
--            it = prev;
-             return 0;
-         }
-         prev = it;
--- 
-2.39.2
-

+ 34 - 0
package/liblo/0001-server.c-fix-build-failure-as-static-library.patch

@@ -0,0 +1,34 @@
+From 74b228c74c7821dbe16d7730040030eed2f01a28 Mon Sep 17 00:00:00 2001
+From: Giulio Benetti <giulio.benetti@benettiengineering.com>
+Date: Mon, 7 Jul 2025 22:58:10 +0200
+Subject: [PATCH] server.c: fix build failure as static library
+
+As static library strncpy() can't determine precise maximum characters
+because strlen() is variable, so to fix build failure let's convert 3
+lines into one by using strdup() that does the same as the actual code.
+
+Upstream: https://sourceforge.net/p/liblo/patches/9/
+Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
+---
+ src/server.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/server.c b/src/server.c
+index 130f6d5..1236279 100644
+--- a/src/server.c
++++ b/src/server.c
+@@ -2062,10 +2062,7 @@ static void dispatch_method(lo_server s, const char *path,
+                     char *tmp;
+                     char *sec;
+ 
+-                    int tmplen = (int) strlen(it->path + len) + 1;
+-                    tmp = (char*) malloc(strlen(it->path + len) + 1);
+-                    strncpy(tmp, it->path + len, tmplen);
+-                    tmp[tmplen-1]=0;
++                    tmp = strdup(it->path + len);
+                     sec = strchr(tmp, '/');
+                     if (sec)
+                         *sec = '\0';
+-- 
+2.39.5
+

+ 4 - 4
package/liblo/liblo.hash

@@ -1,7 +1,7 @@
-# From http://sourceforge.net/projects/liblo/files/liblo/0.31/
-sha1  d188a62df51e29fa98861daec1db0fdae400410d  liblo-0.31.tar.gz
-md5  14378c1e74c58e777fbb4fcf33ac5315  liblo-0.31.tar.gz
+# From http://sourceforge.net/projects/liblo/files/liblo/0.32/
+sha1  e660cf3f630f9255a626102b4ff5082114ebd8a1  liblo-0.32.tar.gz
+md5  a93a7a9da084e6a0937bde6fc324a52a  liblo-0.32.tar.gz
 
 # Locally computed
-sha256  2b4f446e1220dcd624ecd8405248b08b7601e9a0d87a0b94730c2907dbccc750  liblo-0.31.tar.gz
+sha256  5df05f2a0395fc5ac90f6b538b8c82bb21941406fd1a70a765c7336a47d70208  liblo-0.32.tar.gz
 sha256  5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a  COPYING

+ 1 - 4
package/liblo/liblo.mk

@@ -4,16 +4,13 @@
 #
 ################################################################################
 
-LIBLO_VERSION = 0.31
+LIBLO_VERSION = 0.32
 LIBLO_SITE = http://downloads.sourceforge.net/project/liblo/liblo/$(LIBLO_VERSION)
 
 LIBLO_LICENSE = LGPL-2.1+
 LIBLO_LICENSE_FILES = COPYING
 LIBLO_INSTALL_STAGING = YES
 
-# IPv6 support broken, issue known upstream
-LIBLO_CONF_OPTS = --disable-ipv6
-
 # Liblo uses atomic builtins, so we need to link with libatomic for
 # the architectures who explicitly need libatomic.
 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)