Fri Dec 29 11:59:13 2017 UTC ()
fix crashes due to SSP being enabled


(plunky)
diff -r1.24 -r1.25 pkgsrc/pkgtools/pkg_select/Makefile
diff -r1.10 -r1.11 pkgsrc/pkgtools/pkg_select/distinfo
diff -r1.2 -r1.3 pkgsrc/pkgtools/pkg_select/patches/patch-curses__helpers.c
diff -r1.1 -r1.2 pkgsrc/pkgtools/pkg_select/patches/patch-extern.h
diff -r1.1 -r1.2 pkgsrc/pkgtools/pkg_select/patches/patch-install__many.c
diff -r1.1 -r1.2 pkgsrc/pkgtools/pkg_select/patches/patch-listmgt.c
diff -r1.1 -r1.2 pkgsrc/pkgtools/pkg_select/patches/patch-pkgsrc.c
diff -r0 -r1.1 pkgsrc/pkgtools/pkg_select/patches/patch-live.c
diff -r0 -r1.1 pkgsrc/pkgtools/pkg_select/patches/patch-more.c
diff -r0 -r1.1 pkgsrc/pkgtools/pkg_select/patches/patch-pkg__info.c

cvs diff -r1.24 -r1.25 pkgsrc/pkgtools/pkg_select/Makefile (expand / switch to unified diff)

--- pkgsrc/pkgtools/pkg_select/Makefile 2017/01/03 18:45:15 1.24
+++ pkgsrc/pkgtools/pkg_select/Makefile 2017/12/29 11:59:13 1.25
@@ -1,26 +1,26 @@ @@ -1,26 +1,26 @@
1# $NetBSD: Makefile,v 1.24 2017/01/03 18:45:15 roy Exp $ 1# $NetBSD: Makefile,v 1.25 2017/12/29 11:59:13 plunky Exp $
2# 2#
3 3
4DISTNAME= pkg_select-20090308 4DISTNAME= pkg_select-20090308
5PKGREVISION= 6 5PKGREVISION= 7
6CATEGORIES= pkgtools 6CATEGORIES= pkgtools
7MASTER_SITES= ftp://ftp.NetBSD.org/pub/NetBSD/misc/imil/ 7MASTER_SITES= ftp://ftp.NetBSD.org/pub/NetBSD/misc/imil/
8 8
9MAINTAINER= imil@gcu.info 9MAINTAINER= imil@gcu.info
10COMMENT= Curses based pkgsrc system browser / manager 10COMMENT= Curses based pkgsrc system browser / manager
11LICENSE= original-bsd 11LICENSE= original-bsd
12 12
13USE_FEATURES+= cdefs 13USE_FEATURES= cdefs
14 14
15INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 15INSTALLATION_DIRS= bin ${PKGMANDIR}/man1
16INSTALLATION_DIRS+= ${EXAMPLEDIR} share/pkg_select 16INSTALLATION_DIRS+= ${EXAMPLEDIR} share/pkg_select
17 17
18EXAMPLEDIR= ${PREFIX}/share/examples/${PKGBASE} 18EXAMPLEDIR= ${PREFIX}/share/examples/${PKGBASE}
19CONF_FILES= ${EXAMPLEDIR}/${PKGBASE}.conf.example \ 19CONF_FILES= ${EXAMPLEDIR}/${PKGBASE}.conf.example \
20 ${PKG_SYSCONFDIR}/${PKGBASE}.conf 20 ${PKG_SYSCONFDIR}/${PKGBASE}.conf
21 21
22.include "../../mk/compiler.mk" 22.include "../../mk/compiler.mk"
23.if !empty(PKGSRC_COMPILER:Mclang) 23.if !empty(PKGSRC_COMPILER:Mclang)
24BUILDLINK_TRANSFORM+= rm:-Wno-traditional 24BUILDLINK_TRANSFORM+= rm:-Wno-traditional
25.elif !empty(PKGSRC_COMPILER:Mgcc) 25.elif !empty(PKGSRC_COMPILER:Mgcc)
26CFLAGS+= -Wno-error=unused-but-set-variable 26CFLAGS+= -Wno-error=unused-but-set-variable

cvs diff -r1.10 -r1.11 pkgsrc/pkgtools/pkg_select/distinfo (expand / switch to unified diff)

--- pkgsrc/pkgtools/pkg_select/distinfo 2015/11/04 00:38:40 1.10
+++ pkgsrc/pkgtools/pkg_select/distinfo 2017/12/29 11:59:13 1.11
@@ -1,11 +1,14 @@ @@ -1,11 +1,14 @@
1$NetBSD: distinfo,v 1.10 2015/11/04 00:38:40 agc Exp $ 1$NetBSD: distinfo,v 1.11 2017/12/29 11:59:13 plunky Exp $
2 2
3SHA1 (pkg_select-20090308.tar.gz) = f4a4f40927631d16ee563671ce98e69843382c93 3SHA1 (pkg_select-20090308.tar.gz) = f4a4f40927631d16ee563671ce98e69843382c93
4RMD160 (pkg_select-20090308.tar.gz) = d265f8e18ee4500e2ac34ba2d105acff28cc7e91 4RMD160 (pkg_select-20090308.tar.gz) = d265f8e18ee4500e2ac34ba2d105acff28cc7e91
5SHA512 (pkg_select-20090308.tar.gz) = 77ebda4cb6032d980682b7c4c9745982cd49d1683476fa8e16e345385651150576b252c0a4c1a6318e263c11ebc13bffa04393687db914011dfafe52d651125c 5SHA512 (pkg_select-20090308.tar.gz) = 77ebda4cb6032d980682b7c4c9745982cd49d1683476fa8e16e345385651150576b252c0a4c1a6318e263c11ebc13bffa04393687db914011dfafe52d651125c
6Size (pkg_select-20090308.tar.gz) = 54637 bytes 6Size (pkg_select-20090308.tar.gz) = 54637 bytes
7SHA1 (patch-curses__helpers.c) = 3100f625773543e4e93f8fb25d706d95aac3016b 7SHA1 (patch-curses__helpers.c) = fa30914f4a9b147c433fcb32249d2b773a5e2604
8SHA1 (patch-extern.h) = 541e1234e88c926d1bdf94334862f0f0bc81bb59 8SHA1 (patch-extern.h) = e1248f7180a76ec8f623719037cf5306b8de573b
9SHA1 (patch-install__many.c) = 44d9dc440500f9b30b777e109a360bcaafc5f1db 9SHA1 (patch-install__many.c) = 24a39faaab697a84103311f0fc28c2670e201bbe
10SHA1 (patch-listmgt.c) = b1b2f5898709d52c72c465899f0e8dbf1e27a5c2 10SHA1 (patch-listmgt.c) = d27477fd0ce46a9c8ad6a86818dd9f018557459a
11SHA1 (patch-pkgsrc.c) = 655931c4a61657d951cab795b8e878b41a056f7c 11SHA1 (patch-live.c) = b821986e8da22cd53b6c95975cd36abafbeda453
 12SHA1 (patch-more.c) = 0a8c4440a085edfae7f8f4832cdbb7878e3bf85b
 13SHA1 (patch-pkg__info.c) = d6c1f93461c91cfe44a9659d7197406c9c47d890
 14SHA1 (patch-pkgsrc.c) = df0b6c9633e75bc784ec34e88ec4201426d66464

cvs diff -r1.2 -r1.3 pkgsrc/pkgtools/pkg_select/patches/patch-curses__helpers.c (expand / switch to unified diff)

--- pkgsrc/pkgtools/pkg_select/patches/patch-curses__helpers.c 2013/11/29 23:13:56 1.2
+++ pkgsrc/pkgtools/pkg_select/patches/patch-curses__helpers.c 2017/12/29 11:59:13 1.3
@@ -1,38 +1,56 @@ @@ -1,38 +1,56 @@
1$NetBSD: patch-curses__helpers.c,v 1.2 2013/11/29 23:13:56 dholland Exp $ 1$NetBSD: patch-curses__helpers.c,v 1.3 2017/12/29 11:59:13 plunky Exp $
2 2
 3fix -Wset-but-unused
3Fix printf format strings. 4Fix printf format strings.
4 5
5--- curses_helpers.c.orig 2013-09-10 11:42:25.000000000 +0000 6--- curses_helpers.c.orig 2009-03-08 14:25:53.000000000 +0000
6+++ curses_helpers.c 7+++ curses_helpers.c
7@@ -458,7 +458,7 @@ combo_entry(WINDOW *list_win, Etree *ite 8@@ -393,7 +393,7 @@ static int
 9 combo_entry(WINDOW *list_win, Etree *item, HL_datas *hl,
 10 int d_index, int y, const char *path) {
 11
 12- int i, real_hl;
 13+ int i;
 14 int sb_real, sb_y;
 15 int entry_size, comment_size;
 16 static int last_sb = -1;
 17@@ -416,7 +416,6 @@ combo_entry(WINDOW *list_win, Etree *ite
 18 }
 19
 20 /* highlight*/
 21- real_hl = hl->hl_index + hl->top_line;
 22 /* delta between hl and old */
 23 delta = hl->old_index - hl->hl_index;
 24
 25@@ -458,7 +457,7 @@ combo_entry(WINDOW *list_win, Etree *ite
8 snprintf(buf, MAXLEN, "[ %-15s%c%c]", tmp_entry, tbi, status); 26 snprintf(buf, MAXLEN, "[ %-15s%c%c]", tmp_entry, tbi, status);
9 entry_size = strlen(buf); 27 entry_size = strlen(buf);
10 wattron(list_win, A_BOLD); 28 wattron(list_win, A_BOLD);
11- wprintw(list_win, buf); 29- wprintw(list_win, buf);
12+ wprintw(list_win, "%s", buf); 30+ wprintw(list_win, "%s", buf);
13 wattroff(list_win, A_BOLD); 31 wattroff(list_win, A_BOLD);
14 } 32 }
15 /* then comment | item list */ 33 /* then comment | item list */
16@@ -653,11 +653,11 @@ progress_bar(const char **keylist, char  34@@ -653,11 +652,11 @@ progress_bar(const char **keylist, char
17 for (i = 0; i < pg; i++) { 35 for (i = 0; i < pg; i++) {
18 /* clear line */ 36 /* clear line */
19 line_padding(buf, ' ', w); 37 line_padding(buf, ' ', w);
20- mvwprintw(popup, 1, 2, buf); 38- mvwprintw(popup, 1, 2, buf);
21+ mvwprintw(popup, 1, 2, "%s", buf); 39+ mvwprintw(popup, 1, 2, "%s", buf);
22 trimcr(key); 40 trimcr(key);
23 cut_str(key, w - 3); 41 cut_str(key, w - 3);
24 line_padding(key, ' ', w); 42 line_padding(key, ' ', w);
25- mvwprintw(popup, 1, 2, key); 43- mvwprintw(popup, 1, 2, key);
26+ mvwprintw(popup, 1, 2, "%s", key); 44+ mvwprintw(popup, 1, 2, "%s", key);
27 wattron(popup, A_REVERSE); 45 wattron(popup, A_REVERSE);
28 mvwprintw(popup, 3, i + 2, " "); 46 mvwprintw(popup, 3, i + 2, " ");
29 wattroff(popup, A_REVERSE); 47 wattroff(popup, A_REVERSE);
30@@ -698,7 +698,7 @@ cmd_spawn(int waitkey, const char **prog 48@@ -698,7 +697,7 @@ cmd_spawn(int waitkey, const char **prog
31 while (fgets(buf, MAXLEN, fp) != NULL) { 49 while (fgets(buf, MAXLEN, fp) != NULL) {
32 /* shell output preferred instead of progress bars */ 50 /* shell output preferred instead of progress bars */
33 if (conf.shell_output) 51 if (conf.shell_output)
34- printf(buf); 52- printf(buf);
35+ printf("%s", buf); 53+ printf("%s", buf);
36 else 54 else
37 if (next) 55 if (next)
38 next = progress_bar(progress_list,  56 next = progress_bar(progress_list,

cvs diff -r1.1 -r1.2 pkgsrc/pkgtools/pkg_select/patches/patch-extern.h (expand / switch to unified diff)

--- pkgsrc/pkgtools/pkg_select/patches/patch-extern.h 2013/11/29 23:13:56 1.1
+++ pkgsrc/pkgtools/pkg_select/patches/patch-extern.h 2017/12/29 11:59:13 1.2
@@ -1,15 +1,15 @@ @@ -1,15 +1,15 @@
1$NetBSD: patch-extern.h,v 1.1 2013/11/29 23:13:56 dholland Exp $ 1$NetBSD: patch-extern.h,v 1.2 2017/12/29 11:59:13 plunky Exp $
2 2
3Fix const correctness. 3Fix const correctness.
4 4
5--- extern.h~ 2009-03-08 14:25:53.000000000 +0000 5--- extern.h.orig 2009-03-08 14:25:53.000000000 +0000
6+++ extern.h 6+++ extern.h
7@@ -50,7 +50,7 @@ extern int entry_search(Etree **, int); 7@@ -50,7 +50,7 @@ extern int entry_search(Etree **, int);
8 /* list mgt */ 8 /* list mgt */
9 extern int find_value(Etree **, char *); 9 extern int find_value(Etree **, char *);
10 extern char **pkgfind(const char *, const char *, int); 10 extern char **pkgfind(const char *, const char *, int);
11-extern Etree **build_tree_from_list(const char **); 11-extern Etree **build_tree_from_list(const char **);
12+extern Etree **build_tree_from_list(const char *const *); 12+extern Etree **build_tree_from_list(const char *const *);
13  13
14 extern int info_win(WINDOW *, char *, char *); 14 extern int info_win(WINDOW *, char *, char *);
15 extern int more_file(WINDOW *, char *, int, int, int, int); 15 extern int more_file(WINDOW *, char *, int, int, int, int);

cvs diff -r1.1 -r1.2 pkgsrc/pkgtools/pkg_select/patches/patch-install__many.c (expand / switch to unified diff)

--- pkgsrc/pkgtools/pkg_select/patches/patch-install__many.c 2013/11/29 23:13:56 1.1
+++ pkgsrc/pkgtools/pkg_select/patches/patch-install__many.c 2017/12/29 11:59:13 1.2
@@ -1,15 +1,15 @@ @@ -1,15 +1,15 @@
1$NetBSD: patch-install__many.c,v 1.1 2013/11/29 23:13:56 dholland Exp $ 1$NetBSD: patch-install__many.c,v 1.2 2017/12/29 11:59:13 plunky Exp $
2 2
3Fix const correctness. 3Fix const correctness.
4 4
5--- install_many.c~ 2009-03-08 14:25:53.000000000 +0000 5--- install_many.c.orig 2009-03-08 14:25:53.000000000 +0000
6+++ install_many.c 6+++ install_many.c
7@@ -199,7 +199,7 @@ process_many(int action) 7@@ -199,7 +199,7 @@ process_many(int action)
8 if ((list = build_list_from_slist()) == NULL) 8 if ((list = build_list_from_slist()) == NULL)
9 goto out; 9 goto out;
10 if ((etree =  10 if ((etree =
11- build_tree_from_list((const char **)list)) == NULL) 11- build_tree_from_list((const char **)list)) == NULL)
12+ build_tree_from_list((const char *const *)list)) == NULL) 12+ build_tree_from_list((const char *const *)list)) == NULL)
13 goto out; 13 goto out;
14  14
15 XFREE(resp); 15 XFREE(resp);

cvs diff -r1.1 -r1.2 pkgsrc/pkgtools/pkg_select/patches/patch-listmgt.c (expand / switch to unified diff)

--- pkgsrc/pkgtools/pkg_select/patches/patch-listmgt.c 2013/11/29 23:13:56 1.1
+++ pkgsrc/pkgtools/pkg_select/patches/patch-listmgt.c 2017/12/29 11:59:13 1.2
@@ -1,15 +1,15 @@ @@ -1,15 +1,15 @@
1$NetBSD: patch-listmgt.c,v 1.1 2013/11/29 23:13:56 dholland Exp $ 1$NetBSD: patch-listmgt.c,v 1.2 2017/12/29 11:59:13 plunky Exp $
2 2
3Fix const correctness. 3Fix const correctness.
4 4
5--- listmgt.c~ 2009-03-08 14:25:53.000000000 +0000 5--- listmgt.c.orig 2009-03-08 14:25:53.000000000 +0000
6+++ listmgt.c 6+++ listmgt.c
7@@ -90,7 +90,7 @@ entry_search(Etree **etree, int cont) 7@@ -90,7 +90,7 @@ entry_search(Etree **etree, int cont)
8 } 8 }
9  9
10 Etree ** 10 Etree **
11-build_tree_from_list(const char **list) 11-build_tree_from_list(const char **list)
12+build_tree_from_list(const char *const *list) 12+build_tree_from_list(const char *const *list)
13 { 13 {
14 int i, count, len; 14 int i, count, len;
15 char *p; 15 char *p;

cvs diff -r1.1 -r1.2 pkgsrc/pkgtools/pkg_select/patches/patch-pkgsrc.c (expand / switch to unified diff)

--- pkgsrc/pkgtools/pkg_select/patches/patch-pkgsrc.c 2013/11/29 23:13:56 1.1
+++ pkgsrc/pkgtools/pkg_select/patches/patch-pkgsrc.c 2017/12/29 11:59:13 1.2
@@ -1,18 +1,18 @@ @@ -1,18 +1,18 @@
1$NetBSD: patch-pkgsrc.c,v 1.1 2013/11/29 23:13:56 dholland Exp $ 1$NetBSD: patch-pkgsrc.c,v 1.2 2017/12/29 11:59:13 plunky Exp $
2 2
3Fix const correctness. 3Fix const correctness.
4 4
5--- pkgsrc.c~ 2009-03-08 14:25:53.000000000 +0000 5--- pkgsrc.c.orig 2009-03-08 14:25:53.000000000 +0000
6+++ pkgsrc.c 6+++ pkgsrc.c
7@@ -80,7 +80,7 @@ list_mirrors(const char *method) 7@@ -80,7 +80,7 @@ list_mirrors(const char *method)
8  8
9 if ((list = build_mirror_list(method)) == NULL) 9 if ((list = build_mirror_list(method)) == NULL)
10 return(NULL); 10 return(NULL);
11- if ((etree = build_tree_from_list((const char **)list)) == NULL) { 11- if ((etree = build_tree_from_list((const char **)list)) == NULL) {
12+ if ((etree = build_tree_from_list((const char *const *)list)) == NULL) { 12+ if ((etree = build_tree_from_list((const char *const *)list)) == NULL) {
13 free_list(&list); 13 free_list(&list);
14 return(NULL); 14 return(NULL);
15 } 15 }
16@@ -247,7 +247,7 @@ get_cvs_branch(const char *anoncvs, int  16@@ -247,7 +247,7 @@ get_cvs_branch(const char *anoncvs, int
17 free_list(&list); 17 free_list(&list);
18  18

File Added: pkgsrc/pkgtools/pkg_select/patches/patch-live.c
$NetBSD: patch-live.c,v 1.1 2017/12/29 11:59:13 plunky Exp $

fix buffer overrun

--- live.c.orig	2009-03-08 14:25:53.000000000 +0000
+++ live.c
@@ -199,7 +199,7 @@ ftp_get(const char *path, const char *fi
 
 	XMALLOC(tmppath, MIDLEN * sizeof(char));
 
-	snprintf(tmppath, MAXLEN, "%s/%s.pkg_select", TMPDIR, file);
+	snprintf(tmppath, MIDLEN, "%s/%s.pkg_select", TMPDIR, file);
 
 	snprintf(cmd, MAXLEN, "cd %s\n", path);
 	if ((rc = ftp_cmd(cmd, "\n(550|250).*\n")) != 250)

File Added: pkgsrc/pkgtools/pkg_select/patches/patch-more.c
$NetBSD: patch-more.c,v 1.1 2017/12/29 11:59:13 plunky Exp $

-Wset-but-unused

--- more.c.orig	2014-12-30 15:00:06.000000000 +0000
+++ more.c
@@ -37,7 +37,7 @@
 static void
 print_page(WINDOW *win, char **page, int maxlines, int maxcols, int y, int x)
 {
-	int i, j, len;
+	int i, j;
 	char buf[MAXLEN], *c;
 	
 	for (i = 0; (page[i] != NULL) && (i < maxlines); i++) {
@@ -49,7 +49,6 @@ print_page(WINDOW *win, char **page, int
 		wprintw(win, "%s", buf);
 
 		/* print entry */
-		len = strlen(page[i]);
 		snprintf(buf, MAXLEN, "%s", page[i]);
 
 		/* 5 = 2 borders + 2 lines + 1 */

File Added: pkgsrc/pkgtools/pkg_select/patches/patch-pkg__info.c
$NetBSD: patch-pkg__info.c,v 1.1 2017/12/29 11:59:13 plunky Exp $

fix buffer overrun

--- pkg_info.c.orig	2017-12-29 11:44:43.485014784 +0000
+++ pkg_info.c
@@ -122,7 +122,7 @@ syspkg_deinstall(WINDOW *win, const char
 
 	if ((tarlist = exec_list(buf, NULL)) != NULL) {
 		for (i = 0; tarlist[i] != NULL; i++) {
-			snprintf(buf, MAXLEN, "%s -f %s 2> /dev/null",
+			snprintf(buf, MIDLEN, "%s -f %s 2> /dev/null",
 				 RM, tarlist[i]);
 			rmcmd = exec_list(buf, NULL);
 			/* unused output */