diff options
author | Tim Yamin <plasmaroo@gentoo.org> | 2004-04-15 22:28:47 +0000 |
---|---|---|
committer | Tim Yamin <plasmaroo@gentoo.org> | 2004-04-15 22:28:47 +0000 |
commit | de1d2c432a04602691d1c70ca889820751dc055c (patch) | |
tree | cbd36867d6240631bb770e0454dc4469dfc43bb6 /sys-kernel/hardened-sources/files | |
parent | Version bump for the CAN-2004-0109 issue; bug #47881. (Manifest recommit) (diff) | |
download | gentoo-2-de1d2c432a04602691d1c70ca889820751dc055c.tar.gz gentoo-2-de1d2c432a04602691d1c70ca889820751dc055c.tar.bz2 gentoo-2-de1d2c432a04602691d1c70ca889820751dc055c.zip |
Version bump for the CAN-2004-0109 issue; bug #47881.
Diffstat (limited to 'sys-kernel/hardened-sources/files')
-rw-r--r-- | sys-kernel/hardened-sources/files/digest-hardened-sources-2.4.24-r2 (renamed from sys-kernel/hardened-sources/files/digest-hardened-sources-2.4.24-r1) | 1 | ||||
-rw-r--r-- | sys-kernel/hardened-sources/files/hardened-sources-2.4.24.CAN-2004-0109.patch | 87 |
2 files changed, 87 insertions, 1 deletions
diff --git a/sys-kernel/hardened-sources/files/digest-hardened-sources-2.4.24-r1 b/sys-kernel/hardened-sources/files/digest-hardened-sources-2.4.24-r2 index 0b06ea890fb4..3a14ae70d15a 100644 --- a/sys-kernel/hardened-sources/files/digest-hardened-sources-2.4.24-r1 +++ b/sys-kernel/hardened-sources/files/digest-hardened-sources-2.4.24-r2 @@ -1,4 +1,3 @@ MD5 1e055c42921b2396a559d84df4c3d9aa linux-2.4.24.tar.bz2 29837818 MD5 ecf37e9bd868f2fa3fc581569ab724e0 hardened-sources-2.4.24-base.patch.bz2 1670068 -MD5 9f581b1bedf236bec48b43127ee79b33 hardened-sources-2.4.24-grsec.patch.bz2 100207 MD5 d8a2e8fff78e272378e5c8d13b344550 hardened-sources-2.4.24-selinux.patch.bz2 219034 diff --git a/sys-kernel/hardened-sources/files/hardened-sources-2.4.24.CAN-2004-0109.patch b/sys-kernel/hardened-sources/files/hardened-sources-2.4.24.CAN-2004-0109.patch new file mode 100644 index 000000000000..d02b51c57fc6 --- /dev/null +++ b/sys-kernel/hardened-sources/files/hardened-sources-2.4.24.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 */ + |