aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authormnag <mnag@FreeBSD.org>2005-10-12 01:02:24 +0800
committermnag <mnag@FreeBSD.org>2005-10-12 01:02:24 +0800
commit82e8415545b1689af5e15feb6784b745c2292b97 (patch)
treebb066e07625a0e8bb3cc1121abc6ab975aceb24a /devel
parent44454e4066c9553feaad1c00490fa4ad16d97dba (diff)
downloadfreebsd-ports-gnome-82e8415545b1689af5e15feb6784b745c2292b97.tar.gz
freebsd-ports-gnome-82e8415545b1689af5e15feb6784b745c2292b97.tar.zst
freebsd-ports-gnome-82e8415545b1689af5e15feb6784b745c2292b97.zip
Fix SIGSEGV when reuse va_list (seen on amd64)
Bump PORTREVISION PR: 87260 Submitted by: Vasil Dimov <vd@datamax.bg>
Diffstat (limited to 'devel')
-rw-r--r--devel/str/Makefile1
-rw-r--r--devel/str/files/patch-str_parse.c21
2 files changed, 22 insertions, 0 deletions
diff --git a/devel/str/Makefile b/devel/str/Makefile
index ac31830915a9..cd4ef099f7a5 100644
--- a/devel/str/Makefile
+++ b/devel/str/Makefile
@@ -7,6 +7,7 @@
PORTNAME= str
PORTVERSION= 0.9.11
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_OSSP}
MASTER_SITE_SUBDIR= lib/${PORTNAME}
diff --git a/devel/str/files/patch-str_parse.c b/devel/str/files/patch-str_parse.c
new file mode 100644
index 000000000000..6b54b4a374bc
--- /dev/null
+++ b/devel/str/files/patch-str_parse.c
@@ -0,0 +1,21 @@
+--- str_parse.c.orig Mon Jan 24 13:20:22 2005
++++ str_parse.c Tue Oct 11 13:44:59 2005
+@@ -297,6 +297,7 @@
+ char buf2[128];
+ char *buf_ptr;
+ str_vformat_t sf;
++ va_list ap_temp;
+
+ /*
+ * Caching support
+@@ -564,7 +565,9 @@
+ sf.data[3].p = (char *)string;
+ sf.data[4].p = cap_vec;
+ sf.data[5].i = cap_num;
+- l = str_vformat(&sf, buf_ptr, ap);
++ /* we shall need `ap' untouched later */
++ va_copy(ap_temp, ap);
++ l = str_vformat(&sf, buf_ptr, ap_temp);
+
+ /* allocate output buffer */
+ if ((*cpp = (char *)malloc(l+1)) == NULL) {