do not allow brk() below _end
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Tue, 26 Jul 1983 15:24:29 +0000 (07:24 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Tue, 26 Jul 1983 15:24:29 +0000 (07:24 -0800)
SCCS-vsn: lib/libc/vax/sys/brk.s 4.2
SCCS-vsn: lib/libc/vax/sys/sbrk.s 4.2

usr/src/lib/libc/vax/sys/brk.s
usr/src/lib/libc/vax/sys/sbrk.s

index 778e9af..6ebde96 100644 (file)
@@ -1,12 +1,21 @@
-/* brk.s 4.1 82/12/04 */
+/* brk.s 4.2 83/07/26 */
 
 #include "SYS.h"
 
 #define        SYS_brk         17
 
        .globl  curbrk
 
 #include "SYS.h"
 
 #define        SYS_brk         17
 
        .globl  curbrk
+       .globl  minbrk
 
 
-SYSCALL(brk)
+ENTRY(brk)
+       cmpl    4(ap),minbrk
+       bgeq    ok
+       movl    minbrk,4(ap)
+ok:
+       chmk    $SYS_brk
+       jcs     err
        movl    4(ap),curbrk
        clrl    r0
        ret
        movl    4(ap),curbrk
        clrl    r0
        ret
+err:
+       jmp     cerror
index 8d4c095..b488243 100644 (file)
@@ -1,13 +1,15 @@
-/* sbrk.s 4.1 82/12/04 */
+/* sbrk.s 4.2 83/07/26 */
 
 #include "SYS.h"
 
 #define        SYS_brk         17
 
        .globl  _end
 
 #include "SYS.h"
 
 #define        SYS_brk         17
 
        .globl  _end
+       .globl  minbrk
        .globl  curbrk
 
        .data
        .globl  curbrk
 
        .data
+minbrk: .long  _end
 curbrk:        .long   _end
        .text
 
 curbrk:        .long   _end
        .text