1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-23 00:43:28 +00:00

Fix segfault on AMD64.

PR:	ports/83602
This commit is contained in:
Archie Cobbs 2005-10-01 20:07:56 +00:00
parent fda8dcb5ff
commit a822068233
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=143927
3 changed files with 125 additions and 0 deletions

View File

@ -0,0 +1,31 @@
Index: src/custom.c
===================================================================
RCS file: /cvsroot/mpd/mpd/src/custom.c,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- src/custom.c 26 Apr 2004 13:17:17 -0000 1.1.2.1
+++ src/custom.c 10 Jan 2005 23:14:03 -0000 1.1.2.2
@@ -141,16 +141,19 @@
if (!bund)
return;
- va_start(args, fmt);
if (l == NULL) {
for (k = 0; k < bund->n_links; k++) {
- if (bund && bund->links[k])
+ if (bund && bund->links[k]) {
+ va_start(args, fmt);
RecordLinkUpDownReason2(bund->links[k], up, key, fmt, args);
+ va_end(args);
+ }
}
} else {
+ va_start(args, fmt);
RecordLinkUpDownReason2(l, up, key, fmt, args);
+ va_end(args);
}
- va_end(args);
}
static void

View File

@ -0,0 +1,73 @@
Index: src/log.c
===================================================================
RCS file: /cvsroot/mpd/mpd/src/log.c,v
retrieving revision 1.4
retrieving revision 1.4.2.1
diff -u -r1.4 -r1.4.2.1
--- src/log.c 25 Nov 2002 23:51:41 -0000 1.4
+++ src/log.c 7 Oct 2004 22:43:31 -0000 1.4.2.1
@@ -265,17 +265,21 @@
{
va_list args;
- va_start(args, fmt);
LogTimeStamp(logprintf);
+ va_start(args, fmt);
vlogprintf(fmt, args);
+ va_end(args);
+ va_start(args, fmt);
vlogprintf("\n", args); /* XXX args will be ignored */
+ va_end(args);
if (gLogOptions & LG_CONSOLE)
{
+ va_start(args, fmt);
vfprintf(stdout, fmt, args);
+ va_end(args);
putc('\n', stdout);
fflush(stdout);
}
- va_end(args);
}
/*
@@ -315,12 +319,16 @@
/* Dump it */
- va_start(ap, fmt);
- if (console)
+ if (console) {
+ va_start(ap, fmt);
LogDoDumpBp(printf, vprintf, FALSE, bp, fmt, ap);
- if (log)
+ va_end(ap);
+ }
+ if (log) {
+ va_start(ap, fmt);
LogDoDumpBp(logprintf, vlogprintf, TRUE, bp, fmt, ap);
- va_end(ap);
+ va_end(ap);
+ }
}
/*
@@ -342,11 +350,16 @@
/* Dump it */
- va_start(ap, fmt);
- if (console)
+ if (console) {
+ va_start(ap, fmt);
LogDoDumpBuf(printf, vprintf, FALSE, buf, count, fmt, ap);
- if (log)
+ va_end(ap);
+ }
+ if (log) {
+ va_start(ap, fmt);
LogDoDumpBuf(logprintf, vlogprintf, TRUE, buf, count, fmt, ap);
+ va_end(ap);
+ }
}
/*

View File

@ -0,0 +1,21 @@
Index: src/modem.c
===================================================================
RCS file: /cvsroot/mpd/mpd/src/modem.c,v
retrieving revision 1.4
retrieving revision 1.4.2.2
diff -u -r1.4 -r1.4.2.2
--- src/modem.c 5 Dec 2002 22:01:40 -0000 1.4
+++ src/modem.c 10 Jan 2005 23:14:03 -0000 1.4.2.2
@@ -610,10 +617,12 @@
/* Concat prefix and message */
va_start(args, fmt);
vsnprintf(buf, sizeof(buf), fmt, args);
+ va_end(args);
if (*buf != ' ')
snprintf(buf, sizeof(buf), "[%s] chat: ", lnk->name);
else
*buf = '\0';
+ va_start(args, fmt);
vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), fmt, args);
va_end(args);