public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo-x86 commit in app-arch/star/files: star-1.5.1-changewarnSegv.patch star-1.5.1-bufferoverflow.patch star-1.5.1-stdioconflict.patch star-1.5.1-multivolsigsegv.patch
@ 2013-02-04 11:45 Justin Lecher (jlec)
  0 siblings, 0 replies; only message in thread
From: Justin Lecher (jlec) @ 2013-02-04 11:45 UTC (permalink / raw
  To: gentoo-commits

jlec        13/02/04 11:45:39

  Added:                star-1.5.1-changewarnSegv.patch
                        star-1.5.1-bufferoverflow.patch
                        star-1.5.1-stdioconflict.patch
                        star-1.5.1-multivolsigsegv.patch
  Log:
  app-arch/star: Version Bump; get some patches from fedora, fix segf #409165
  
  (Portage version: 2.2.0_alpha161/cvs/Linux x86_64, signed Manifest commit with key 70EB7916)

Revision  Changes    Path
1.1                  app-arch/star/files/star-1.5.1-changewarnSegv.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-arch/star/files/star-1.5.1-changewarnSegv.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-arch/star/files/star-1.5.1-changewarnSegv.patch?rev=1.1&content-type=text/plain

Index: star-1.5.1-changewarnSegv.patch
===================================================================
--- star-1.5/star/checkerr.c.orig-segv	2006-10-31 18:06:25.000000000 +0100
+++ star-1.5/star/checkerr.c	2007-08-27 11:42:39.000000000 +0200
@@ -183,39 +183,45 @@ LOCAL struct eflags {
  */
 LOCAL UInt32_t
 errflags(eflag, doexit)
-	char	*eflag;
-	BOOL	doexit;
+     char	*eflag;
+     BOOL	doexit;
 {
-	register char		*p = eflag;
-		char		*ef = _endword(eflag);
-	register struct eflags	*ep;
-	register int		slen;
-	register UInt32_t	nflags = 0;
-
-	do {
-		for (ep = eflags; ep->fname; ep++) {
-			slen = strlen(ep->fname);
-			if ((strncmp(ep->fname, p, slen) == 0) &&
-			    (p[slen] == '|' || p[slen] == ' ' ||
-			    p[slen] == '\0')) {
-				nflags |= ep->fval;
-				break;
-			}
-		}
-		if (ep->fname == NULL) {
-			if (doexit)
-				comerrno(EX_BAD, "Bad flag '%s'\n", p);
-			return (0);
-		}
-		p = strchr(p, '|');
-	} while (p < ef && p && *p++ == '|');
-
-	if ((nflags & ~(UInt32_t)(E_ABORT|E_WARN)) == 0) {
-		if (doexit)
-			comerrno(EX_BAD, "Bad error condition '%s'.\n", eflag);
-		return (0);
-	}
-	return (nflags);
+  register struct eflags	*ep;
+  register int		slen;
+  register UInt32_t	nflags = 0;
+  char *curflags;
+  char *curflag;
+  
+  curflags = strdup (eflag);
+  *_endword(curflags) = '\0';
+  curflag   = strtok (curflags, "|");
+  
+  while (curflag != NULL) {
+    for (ep = eflags; ep->fname; ep++) {
+      slen = strlen (ep->fname);
+      if ((strncmp (ep->fname, curflag, slen)) == 0) {
+	nflags |= ep->fval;
+	goto next;
+      }
+    }
+    
+    if (doexit)
+      comerrno (EX_BAD, "Bad flag '%s' \n", curflag);
+
+    free (curflags);
+    return (0);
+  next:
+    curflag = strtok (NULL, "|");
+  }
+  
+  free (curflags);
+
+  if ((nflags & ~(UInt32_t)(E_ABORT|E_WARN)) == 0) {
+    if (doexit)
+      comerrno(EX_BAD, "Bad error condition '%s'.\n", eflag);
+    return (0);
+  }
+  return (nflags);
 }
 
 LOCAL ec_t *



1.1                  app-arch/star/files/star-1.5.1-bufferoverflow.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-arch/star/files/star-1.5.1-bufferoverflow.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-arch/star/files/star-1.5.1-bufferoverflow.patch?rev=1.1&content-type=text/plain

Index: star-1.5.1-bufferoverflow.patch
===================================================================
diff -urNp star-1.5.1-orig/star/longnames.c star-1.5.1/star/longnames.c
--- star-1.5.1-orig/star/longnames.c	2009-10-16 00:38:55.000000000 +0200
+++ star-1.5.1/star/longnames.c	2010-02-03 13:36:03.000000000 +0100
@@ -155,7 +155,7 @@ name_to_tcb(info, ptb)
 		if (add)
 			strcatl(ptb->dbuf.t_name, name, "/", (char *)NULL);
 		else
-			strcpy(ptb->dbuf.t_name, name);
+			strncpy(ptb->dbuf.t_name, name, props.pr_maxsname);
 		return (TRUE);
 	}
 
@@ -198,7 +198,7 @@ name_to_tcb(info, ptb)
 	if (add)
 		strcatl(ptb->dbuf.t_name, &np[1], "/", (char *)NULL);
 	else
-		strcpy(ptb->dbuf.t_name, &np[1]);
+		strncpy(ptb->dbuf.t_name, &np[1], props.pr_maxsname);
 	strncpy(ptb->dbuf.t_prefix, name, np - name);
 	info->f_flags |= F_SPLIT_NAME;
 	return (TRUE);



1.1                  app-arch/star/files/star-1.5.1-stdioconflict.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-arch/star/files/star-1.5.1-stdioconflict.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-arch/star/files/star-1.5.1-stdioconflict.patch?rev=1.1&content-type=text/plain

Index: star-1.5.1-stdioconflict.patch
===================================================================
diff -urNp star-1.5.1-orig/include/schily/schily.h star-1.5.1/include/schily/schily.h
--- star-1.5.1-orig/include/schily/schily.h	2009-10-22 23:18:55.000000000 +0200
+++ star-1.5.1/include/schily/schily.h	2010-01-13 13:17:10.000000000 +0100
@@ -174,7 +174,7 @@ extern	int	fexecle __PR((const char *, F
 		/* 6th arg not const, fexecv forces av[ac] = NULL */
 extern	int	fexecv __PR((const char *, FILE *, FILE *, FILE *, int,
 							char **));
-extern	int	fexecve __PR((const char *, FILE *, FILE *, FILE *,
+extern	int	sch_fexecve __PR((const char *, FILE *, FILE *, FILE *,
 					char * const *, char * const *));
 extern	int	fspawnv __PR((FILE *, FILE *, FILE *, int, char * const *));
 extern	int	fspawnl __PR((FILE *, FILE *, FILE *, const char *, ...));
@@ -311,7 +311,7 @@ extern	char	*findbytes __PR((const void 
 extern	char	*findinpath __PR((char *__name, int __mode, BOOL __plain_file));
 extern	int	findline __PR((const char *, char, const char *,
 							int, char **, int));
-extern	int	getline __PR((char *, int));
+extern	int	sch_getline __PR((char *, int));
 extern	int	getstr __PR((char *, int));
 extern	int	breakline __PR((char *, char, char **, int));
 extern	int	getallargs __PR((int *, char * const**, const char *, ...));
diff -urNp star-1.5.1-orig/lib/fexec.c star-1.5.1/lib/fexec.c
--- star-1.5.1-orig/lib/fexec.c	2009-11-15 15:14:28.000000000 +0100
+++ star-1.5.1/lib/fexec.c	2010-01-13 13:17:10.000000000 +0100
@@ -198,7 +198,7 @@ const	char	**pav;
 	} while (p != NULL);
 	va_end(args);
 
-	ret = fexecve(name, in, out, err, av, env);
+	ret = sch_fexecve(name, in, out, err, av, env);
 	if (av != xav)
 		free(av);
 	return (ret);
@@ -212,11 +212,11 @@ fexecv(name, in, out, err, ac, av)
 	char *av[];
 {
 	av[ac] = NULL;			/*  force list to be null terminated */
-	return (fexecve(name, in, out, err, av, environ));
+	return (sch_fexecve(name, in, out, err, av, environ));
 }
 
 EXPORT int
-fexecve(name, in, out, err, av, env)
+sch_fexecve(name, in, out, err, av, env)
 	const char *name;
 	FILE *in, *out, *err;
 	char * const av[], * const env[];
diff -urNp star-1.5.1-orig/lib/libschily-mapvers star-1.5.1/lib/libschily-mapvers
--- star-1.5.1-orig/lib/libschily-mapvers	2007-10-06 15:21:55.000000000 +0200
+++ star-1.5.1/lib/libschily-mapvers	2010-01-13 13:17:10.000000000 +0100
@@ -77,7 +77,7 @@ global:
 	fexecl;
 	fexecle;
 	fexecv;
-	fexecve;
+	sch_fexecve;
 	ffileread;
 	ffilewrite;
 	fgetline;
@@ -123,7 +123,7 @@ global:
 	geterrno;
 	getfiles;
 	getfp;
-	getline;
+	sch_getline;
 	getmainfp;
 	#getstr;
 	#handlecond;
diff -urNp star-1.5.1-orig/lib/stdio/fgetline.c star-1.5.1/lib/stdio/fgetline.c
--- star-1.5.1-orig/lib/stdio/fgetline.c	2004-09-25 14:23:36.000000000 +0200
+++ star-1.5.1/lib/stdio/fgetline.c	2010-01-13 13:17:10.000000000 +0100
@@ -61,7 +61,7 @@ fgetline(f, buf, len)
 }
 
 EXPORT int
-getline(buf, len)
+sch_getline(buf, len)
 	char	*buf;
 	int	len;
 {
diff -urNp star-1.5.1-orig/libfind/find.c star-1.5.1/libfind/find.c
--- star-1.5.1-orig/libfind/find.c	2009-11-15 16:25:02.000000000 +0100
+++ star-1.5.1/libfind/find.c	2010-01-13 13:17:10.000000000 +0100
@@ -1747,7 +1747,7 @@ doexec(f, ac, av, state)
 #endif
 		av[ac] = NULL;	/* -exec {} \; is not NULL terminated */
 
-		fexecve(av[0], state->std[0], state->std[1], state->std[2],
+		sch_fexecve(av[0], state->std[0], state->std[1], state->std[2],
 							av, state->env);
 		err = geterrno();
 #ifdef	PLUS_DEBUG



1.1                  app-arch/star/files/star-1.5.1-multivolsigsegv.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-arch/star/files/star-1.5.1-multivolsigsegv.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-arch/star/files/star-1.5.1-multivolsigsegv.patch?rev=1.1&content-type=text/plain

Index: star-1.5.1-multivolsigsegv.patch
===================================================================
diff -urNp star-1.5.1-orig/star/buffer.c star-1.5.1/star/buffer.c
--- star-1.5.1-orig/star/buffer.c	2009-07-13 21:05:02.000000000 +0200
+++ star-1.5.1/star/buffer.c	2011-01-04 13:50:25.452138625 +0100
@@ -799,7 +799,7 @@ initbuf(nblocks)
 
 		bigptr = bigbuf = ___malloc((size_t) bufsize+10+pagesize,
 								"buffer");
-		bigptr = bigbuf = (char *)roundup((Intptr_t)bigptr, pagesize);
+		bigptr = bigbuf = (char *)roundup((UIntptr_t)bigptr, pagesize);
 		fillbytes(bigbuf, bufsize, '\0');
 		fillbytes(&bigbuf[bufsize], 10, 'U');
 





^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2013-02-04 11:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-04 11:45 [gentoo-commits] gentoo-x86 commit in app-arch/star/files: star-1.5.1-changewarnSegv.patch star-1.5.1-bufferoverflow.patch star-1.5.1-stdioconflict.patch star-1.5.1-multivolsigsegv.patch Justin Lecher (jlec)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox