From 18e76a6c47b0f62b2458430d4357f3eb68bfd759 Mon Sep 17 00:00:00 2001 From: Robert Morris Date: Mon, 1 Jul 2019 17:01:50 -0400 Subject: sbrk() returns a pointer, so it should be 64 bits --- user/usertests.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'user') diff --git a/user/usertests.c b/user/usertests.c index beca8f9..0aafe73 100644 --- a/user/usertests.c +++ b/user/usertests.c @@ -1438,6 +1438,13 @@ sbrktest(void) printf(stdout, "sbrk test\n"); oldbrk = sbrk(0); + // does sbrk() return the expected failure value? + a = sbrk(1024*1024*1024); + if(a != (char*)0xffffffffffffffffL){ + printf(stdout, "sbrk() returned %p\n", a); + exit(); + } + // can one sbrk() less than a page? a = sbrk(0); for(i = 0; i < 5000; i++){ @@ -1478,7 +1485,7 @@ sbrktest(void) // can one de-allocate? a = sbrk(0); c = sbrk(-4096); - if(c == (char*)0xffffffff){ + if(c == (char*)0xffffffffffffffffL){ printf(stdout, "sbrk could not deallocate\n"); exit(); } @@ -1551,7 +1558,7 @@ sbrktest(void) kill(pids[i]); wait(); } - if(c == (char*)0xffffffff){ + if(c == (char*)0xffffffffffffffffL){ printf(stdout, "failed sbrk leaked memory\n"); exit(); } -- cgit v1.2.3