X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/62bac59f31f0b141e9fcc910b62307593ce2e85c..c7a40c31f514a4d8e79a3f43d46161023e4f5435:/usr/src/sys/kern/kern_proc.c diff --git a/usr/src/sys/kern/kern_proc.c b/usr/src/sys/kern/kern_proc.c index 0b8fde935b..1b752ace76 100644 --- a/usr/src/sys/kern/kern_proc.c +++ b/usr/src/sys/kern/kern_proc.c @@ -1,4 +1,4 @@ -/* kern_proc.c 3.15 %G% */ +/* kern_proc.c 3.16 %G% */ #include "../h/param.h" #include "../h/systm.h" @@ -467,6 +467,7 @@ exit(rv) plock(u.u_rdir); iput(u.u_rdir); } + u.u_limit[LIM_FSIZE] = INFINITY; acct(); vrelpt(u.u_procp); vrelu(u.u_procp, 0); @@ -684,6 +685,10 @@ sbreak() if (n < 0) n = 0; d = clrnd(n - u.u_dsize); + if (u.u_dsize+d > u.u_limit[LIM_DATA]) { + u.u_error = ENOMEM; + return; + } if (chksize(u.u_tsize, u.u_dsize+d, u.u_ssize)) return; if (swpexpand(u.u_dsize+d, u.u_ssize, &u.u_dmap, &u.u_smap)==0)