* [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