From 5d9c91b9de244e7e6d2137b0dd86f876008cb355 Mon Sep 17 00:00:00 2001 From: nbd Date: Thu, 3 Jan 2008 02:25:16 +0000 Subject: [PATCH] fix ipkg segfault and add conffiles patch from #2946 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10090 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/busybox/patches/522-memleak.patch | 12 ----------- .../busybox/patches/523-conffiles_fix.patch | 21 +++++++++++++++++++ 2 files changed, 21 insertions(+), 12 deletions(-) create mode 100644 package/busybox/patches/523-conffiles_fix.patch diff --git a/package/busybox/patches/522-memleak.patch b/package/busybox/patches/522-memleak.patch index 1bcfb8f40..ab639c59b 100644 --- a/package/busybox/patches/522-memleak.patch +++ b/package/busybox/patches/522-memleak.patch @@ -1,15 +1,3 @@ -Index: busybox-1.8.2/archival/libipkg/ipkg_install.c -=================================================================== ---- busybox-1.8.2.orig/archival/libipkg/ipkg_install.c 2007-12-30 00:02:53.577161007 +0100 -+++ busybox-1.8.2/archival/libipkg/ipkg_install.c 2007-12-30 00:03:14.042327251 +0100 -@@ -500,6 +500,7 @@ - } - } - } -+ pkg_free_installed_files(new_pkg); - return 0; - } - Index: busybox-1.8.2/archival/libipkg/pkg.c =================================================================== --- busybox-1.8.2.orig/archival/libipkg/pkg.c 2007-12-30 00:27:32.001919565 +0100 diff --git a/package/busybox/patches/523-conffiles_fix.patch b/package/busybox/patches/523-conffiles_fix.patch new file mode 100644 index 000000000..8206faf91 --- /dev/null +++ b/package/busybox/patches/523-conffiles_fix.patch @@ -0,0 +1,21 @@ +Index: busybox-1.8.2/archival/libipkg/pkg.c +=================================================================== +--- busybox-1.8.2.orig/archival/libipkg/pkg.c 2008-01-02 21:53:12.616453611 +0100 ++++ busybox-1.8.2/archival/libipkg/pkg.c 2008-01-02 21:54:41.462489150 +0100 +@@ -587,13 +587,14 @@ + return NULL; + } + temp[0]='\0'; +- strncpy(temp, "Conffiles:\n", 12); ++ strncpy(temp, "Conffiles: ", 12); + for (iter = pkg->conffiles.head; iter; iter = iter->next) { + if (iter->data->name && iter->data->value) { +- snprintf(line_str, LINE_LEN, "%s %s\n", iter->data->name, iter->data->value); ++ snprintf(line_str, LINE_LEN, "%s %s", iter->data->name, iter->data->value); + strncat(temp, line_str, strlen(line_str)); + } + } ++ strcat(temp, "\n"); + } else if (strcasecmp(field, "Conflicts") == 0) { + int i; +