diff options
author | Tim Yamin <plasmaroo@gentoo.org> | 2004-04-15 07:45:29 +0000 |
---|---|---|
committer | Tim Yamin <plasmaroo@gentoo.org> | 2004-04-15 07:45:29 +0000 |
commit | 15991e5d5eb6d88ecb135602be432f7bbeb068d9 (patch) | |
tree | b91a1136e6db325673bf45be8826cedeb42262c6 /sys-kernel/aa-sources | |
parent | Version bump for the CAN-2004-0109 issue; bug #47881 [[ Regenerating Manifest... (diff) | |
download | historical-15991e5d5eb6d88ecb135602be432f7bbeb068d9.tar.gz historical-15991e5d5eb6d88ecb135602be432f7bbeb068d9.tar.bz2 historical-15991e5d5eb6d88ecb135602be432f7bbeb068d9.zip |
Added a patch for the CAN-2004-0109 issue; bug #47881.
Diffstat (limited to 'sys-kernel/aa-sources')
-rw-r--r-- | sys-kernel/aa-sources/ChangeLog | 6 | ||||
-rw-r--r-- | sys-kernel/aa-sources/aa-sources-2.4.23-r2.ebuild | 3 | ||||
-rw-r--r-- | sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0109.patch | 87 |
3 files changed, 94 insertions, 2 deletions
diff --git a/sys-kernel/aa-sources/ChangeLog b/sys-kernel/aa-sources/ChangeLog index a4566aac45ff..546fce3539c1 100644 --- a/sys-kernel/aa-sources/ChangeLog +++ b/sys-kernel/aa-sources/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for sys-kernel/aa-sources # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/aa-sources/ChangeLog,v 1.31 2004/04/12 16:36:22 aliz Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/aa-sources/ChangeLog,v 1.32 2004/04/15 07:45:29 plasmaroo Exp $ + + 15 Apr 2004; <plasmaroo@gentoo.org> aa-sources-2.4.23-r2.ebuild, + files/aa-sources-2.4.23.CAN-2004-0109.patch: + Added a patch for the CAN-2004-0109 issue; bug #47881. 12 Apr 2004; Daniel Ahlberg <aliz@gentoo.org> aa-sources-2.4.23-r2.ebuild: Add eutils to inherit. diff --git a/sys-kernel/aa-sources/aa-sources-2.4.23-r2.ebuild b/sys-kernel/aa-sources/aa-sources-2.4.23-r2.ebuild index e4ea30ef2344..3cc9d672c506 100644 --- a/sys-kernel/aa-sources/aa-sources-2.4.23-r2.ebuild +++ b/sys-kernel/aa-sources/aa-sources-2.4.23-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/aa-sources/aa-sources-2.4.23-r2.ebuild,v 1.2 2004/04/12 16:36:22 aliz Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/aa-sources/aa-sources-2.4.23-r2.ebuild,v 1.3 2004/04/15 07:45:29 plasmaroo Exp $ IUSE="build" @@ -60,6 +60,7 @@ src_unpack() { epatch ${FILESDIR}/${P}.CAN-2003-0985.patch || die "Failed to apply mremap() patch!" epatch ${FILESDIR}/${P}.CAN-2004-0001.patch || die "Failed to apply AMD64 ptrace patch!" + epatch ${FILESDIR}/${P}.CAN-2004-0109.patch || die "Failed to patch CAN-2004-0109 vulnerability!" epatch ${FILESDIR}/${P}.rtc_fix.patch || die "Failed to apply RTC patch!" # The munmap() patch is already in aa2... diff --git a/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0109.patch b/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0109.patch new file mode 100644 index 000000000000..d02b51c57fc6 --- /dev/null +++ b/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0109.patch @@ -0,0 +1,87 @@ +--- linux/fs/isofs/rock.c.orig ++++ linux/fs/isofs/rock.c +@@ -14,6 +14,7 @@ + #include <linux/slab.h> + #include <linux/pagemap.h> + #include <linux/smp_lock.h> ++#include <asm/page.h> + + #include "rock.h" + +@@ -419,7 +420,7 @@ + return 0; + } + +-static char *get_symlink_chunk(char *rpnt, struct rock_ridge *rr) ++static char *get_symlink_chunk(char *rpnt, struct rock_ridge *rr, char *plimit) + { + int slen; + int rootflag; +@@ -431,16 +432,25 @@ + rootflag = 0; + switch (slp->flags & ~1) { + case 0: ++ if (slp->len > plimit - rpnt) ++ return NULL; + memcpy(rpnt, slp->text, slp->len); + rpnt+=slp->len; + break; ++ case 2: ++ if (rpnt >= plimit) ++ return NULL; ++ *rpnt++='.'; ++ break; + case 4: ++ if (2 > plimit - rpnt) ++ return NULL; + *rpnt++='.'; +- /* fallthru */ +- case 2: + *rpnt++='.'; + break; + case 8: ++ if (rpnt >= plimit) ++ return NULL; + rootflag = 1; + *rpnt++='/'; + break; +@@ -457,17 +467,23 @@ + * If there is another SL record, and this component + * record isn't continued, then add a slash. + */ +- if ((!rootflag) && (rr->u.SL.flags & 1) && !(oldslp->flags & 1)) ++ if ((!rootflag) && (rr->u.SL.flags & 1) && ++ !(oldslp->flags & 1)) { ++ if (rpnt >= plimit) ++ return NULL; + *rpnt++='/'; ++ } + break; + } + + /* + * If this component record isn't continued, then append a '/'. + */ +- if (!rootflag && !(oldslp->flags & 1)) ++ if (!rootflag && !(oldslp->flags & 1)) { ++ if (rpnt >= plimit) ++ return NULL; + *rpnt++='/'; +- ++ } + } + return rpnt; + } +@@ -548,7 +564,10 @@ + CHECK_SP(goto out); + break; + case SIG('S', 'L'): +- rpnt = get_symlink_chunk(rpnt, rr); ++ rpnt = get_symlink_chunk(rpnt, rr, ++ link + (PAGE_SIZE - 1)); ++ if (rpnt == NULL) ++ goto out; + break; + case SIG('C', 'E'): + /* This tells is if there is a continuation record */ + |