From c6b42b484830bedbc66e1fd784da00cda65db8b2 Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Sun, 6 Jul 2008 13:55:55 +0000 Subject: busybox: more 1.11.0 patches --- package/busybox/busybox-1.11.0-man.patch | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 package/busybox/busybox-1.11.0-man.patch (limited to 'package/busybox/busybox-1.11.0-man.patch') diff --git a/package/busybox/busybox-1.11.0-man.patch b/package/busybox/busybox-1.11.0-man.patch new file mode 100644 index 000000000..0e29e61a4 --- /dev/null +++ b/package/busybox/busybox-1.11.0-man.patch @@ -0,0 +1,40 @@ +--- busybox-1.11.0/miscutils/man.c Wed Jun 25 14:51:35 2008 ++++ busybox-1.11.0-man/miscutils/man.c Fri Jul 4 23:55:56 2008 +@@ -73,7 +73,7 @@ + char *sec_list; + char *cur_path, *cur_sect; + char *line, *value; +- int count_mp, alloc_mp, cur_mp; ++ int count_mp, cur_mp; + int opt; + + opt_complementary = "-1"; /* at least one argument */ +@@ -81,8 +81,8 @@ + argv += optind; + + sec_list = xstrdup("1:2:3:4:5:6:7:8:9"); +- alloc_mp = 10; +- man_path_list = xmalloc(10 * sizeof(man_path_list[0])); ++ /* Last valid man_path_list[] is [0x10] */ ++ man_path_list = xzalloc(0x11 * sizeof(man_path_list[0])); + count_mp = 0; + man_path_list[0] = xstrdup(getenv("MANPATH")); + if (man_path_list[0]) +@@ -107,11 +107,13 @@ + if (strcmp("MANPATH", line) == 0) { + man_path_list[count_mp] = xstrdup(value); + count_mp++; +- if (alloc_mp == count_mp) { +- alloc_mp += 10; +- man_path_list = xrealloc(man_path_list, alloc_mp * sizeof(man_path_list[0])); ++ /* man_path_list is NULL terminated */ ++ man_path_list[count_mp] = NULL; ++ if (!(count_mp & 0xf)) { /* 0x10, 0x20 etc */ ++ /* so that last valid man_path_list[] is [count_mp + 0x10] */ ++ man_path_list = xrealloc(man_path_list, ++ (count_mp + 0x11) * sizeof(man_path_list[0])); + } +- /* thus man_path_list is always NULL terminated */ + } + if (strcmp("MANSECT", line) == 0) { + free(sec_list); -- cgit v1.2.3