aboutsummaryrefslogtreecommitdiffstats
path: root/shells
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2014-09-25 23:38:56 +0800
committerBryan Drewery <bdrewery@FreeBSD.org>2014-09-25 23:38:56 +0800
commit627de1b0d791f120edd96c2e79bce158d02c3d73 (patch)
treed9323aa5c42ee4e7870ca6db0ac96415524c36c5 /shells
parenta6d2f30533e141f8a5dc3d20b01d58339654c5cf (diff)
downloadfreebsd-ports-gnome-627de1b0d791f120edd96c2e79bce158d02c3d73.tar.gz
freebsd-ports-gnome-627de1b0d791f120edd96c2e79bce158d02c3d73.tar.zst
freebsd-ports-gnome-627de1b0d791f120edd96c2e79bce158d02c3d73.zip
Fix CVE-2014-3659. The original fix in 25 was not enough.
Obtained from: http://seclists.org/oss-sec/2014/q3/690 (bash developer) Security: CVE-2014-3659
Diffstat (limited to 'shells')
-rw-r--r--shells/bash/Makefile5
-rw-r--r--shells/bash/files/patch-parse.y13
2 files changed, 17 insertions, 1 deletions
diff --git a/shells/bash/Makefile b/shells/bash/Makefile
index e1e0b10c9575..e34efe29d637 100644
--- a/shells/bash/Makefile
+++ b/shells/bash/Makefile
@@ -4,7 +4,7 @@
PORTNAME= bash
PATCHLEVEL= 25
PORTVERSION= 4.3.${PATCHLEVEL:S/^0//g}
-PORTREVISION?= 0
+PORTREVISION?= 1
CATEGORIES= shells
MASTER_SITES= GNU
MASTER_SITE_SUBDIR= ${PORTNAME}
@@ -64,6 +64,9 @@ CONFLICTS+= bash-static-[0-9]*
.endif
post-patch:
+# Ensure y.tab.c is regenerated
+ ${TOUCH} ${WRKSRC}/parse.y
+ ${RM} ${WRKSRC}/y.tab.c
@${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" ${WRKSRC}/doc/bash.1
.if ${PORT_OPTIONS:MSYSLOG}
@${REINPLACE_CMD} \
diff --git a/shells/bash/files/patch-parse.y b/shells/bash/files/patch-parse.y
new file mode 100644
index 000000000000..9ff2a82b19e0
--- /dev/null
+++ b/shells/bash/files/patch-parse.y
@@ -0,0 +1,13 @@
+http://seclists.org/oss-sec/2014/q3/690
+
+*** ../bash-20140912/parse.y 2014-08-26 15:09:42.000000000 -0400
+--- parse.y 2014-09-24 22:47:28.000000000 -0400
+***************
+*** 2959,2962 ****
+--- 2959,2964 ----
+ word_desc_to_read = (WORD_DESC *)NULL;
+
++ eol_ungetc_lookahead = 0;
++
+ current_token = '\n'; /* XXX */
+ last_read_token = '\n';