From 3e64a8c618bb9886c214ab2ec5c267bfb880fdad Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Thu, 3 Jan 2008 02:25:16 +0000
Subject: [PATCH] fix ipkg segfault and add conffiles patch from #2946

SVN-Revision: 10090
---
 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 1bcfb8f408..ab639c59bf 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 0000000000..8206faf91b
--- /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;
+ 
-- 
GitLab