aboutsummaryrefslogtreecommitdiffstats
path: root/net/mpd
diff options
context:
space:
mode:
authorarchie <archie@FreeBSD.org>2005-10-02 04:07:56 +0800
committerarchie <archie@FreeBSD.org>2005-10-02 04:07:56 +0800
commit38727d50efb6a4a96d0f460b994a65e88ef3a506 (patch)
tree76a9bc4826de2c57f5af9885f0391eb8fa91fb97 /net/mpd
parentda32ac1c91e6e497d22eea83794b80ea0093dfdd (diff)
downloadfreebsd-ports-gnome-38727d50efb6a4a96d0f460b994a65e88ef3a506.tar.gz
freebsd-ports-gnome-38727d50efb6a4a96d0f460b994a65e88ef3a506.tar.zst
freebsd-ports-gnome-38727d50efb6a4a96d0f460b994a65e88ef3a506.zip
Fix segfault on AMD64.
PR: ports/83602
Diffstat (limited to 'net/mpd')
-rw-r--r--net/mpd/files/patch-src::custom.c31
-rw-r--r--net/mpd/files/patch-src::log.c73
-rw-r--r--net/mpd/files/patch-src::modem.c21
3 files changed, 125 insertions, 0 deletions
diff --git a/net/mpd/files/patch-src::custom.c b/net/mpd/files/patch-src::custom.c
new file mode 100644
index 000000000000..0bec6ce12bd8
--- /dev/null
+++ b/net/mpd/files/patch-src::custom.c
@@ -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
diff --git a/net/mpd/files/patch-src::log.c b/net/mpd/files/patch-src::log.c
new file mode 100644
index 000000000000..83d46e5b01b5
--- /dev/null
+++ b/net/mpd/files/patch-src::log.c
@@ -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);
++ }
+ }
+
+ /*
diff --git a/net/mpd/files/patch-src::modem.c b/net/mpd/files/patch-src::modem.c
new file mode 100644
index 000000000000..adf7cea289b4
--- /dev/null
+++ b/net/mpd/files/patch-src::modem.c
@@ -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);
+