diff options
author | Philipp Zabel <philipp.zabel@gmail.com> | 2005-09-01 17:46:39 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2005-09-01 17:46:39 +0000 |
commit | a06baa77957b94afd763e2f2881e03baf9b7cfcc (patch) | |
tree | b5fb7bf86309ac9ad7e58de49749fef643062cef /packages/ipkg/ipkg-0.99.129/buffer-overflow.patch | |
parent | ea899cfb752cf00b2f194d64c76fdfdecfb1f6c9 (diff) | |
parent | 32e17c17bfda2f7a289b4d4d9058bec7903e4a19 (diff) |
merge of 29134267458b518b87fa720d106c0188db1b6131
and 296ac2a5b3ca43f1af1caec04d2643a3970aecef
Diffstat (limited to 'packages/ipkg/ipkg-0.99.129/buffer-overflow.patch')
-rw-r--r-- | packages/ipkg/ipkg-0.99.129/buffer-overflow.patch | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/packages/ipkg/ipkg-0.99.129/buffer-overflow.patch b/packages/ipkg/ipkg-0.99.129/buffer-overflow.patch deleted file mode 100644 index 91234fd53f..0000000000 --- a/packages/ipkg/ipkg-0.99.129/buffer-overflow.patch +++ /dev/null @@ -1,38 +0,0 @@ -Index: ipkg_cmd.c -=================================================================== -RCS file: /cvs/familiar/dist/ipkg/C/ipkg_cmd.c,v -retrieving revision 1.96 -diff -u -r1.96 ipkg_cmd.c ---- C/ipkg_cmd.c 19 Aug 2004 10:55:47 -0000 1.96 -+++ C/ipkg_cmd.c 11 Sep 2004 19:43:14 -0000 -@@ -860,6 +860,7 @@ - str_list_elt_t *iter; - char *pkg_version; - size_t buff_len = 8192; -+ size_t used_len; - char *buff ; - - buff = (char *)malloc(buff_len); -@@ -891,9 +892,20 @@ - } - #else - if (buff) { -- snprintf(buff, buff_len, "Package %s (%s) is installed on %s and has the following files:\n", -- pkg->name, pkg_version, pkg->dest->name); -+ try_again: -+ used_len = snprintf(buff, buff_len, "Package %s (%s) is installed on %s and has the following files:\n", -+ pkg->name, pkg_version, pkg->dest->name) + 1; -+ if (used_len > buff_len) { -+ buff_len *= 2; -+ buff = realloc (buff, buff_len); -+ goto try_again; -+ } - for (iter = installed_files->head; iter; iter = iter->next) { -+ used_len += strlen (iter->data) + 1; -+ while (buff_len <= used_len) { -+ buff_len *= 2; -+ buff = realloc (buff, buff_len); -+ } - strncat(buff, iter->data, buff_len); - strncat(buff, "\n", buff_len); - } |