summaryrefslogtreecommitdiff
path: root/user
diff options
context:
space:
mode:
authorRobert Morris <[email protected]>2019-07-01 17:01:50 -0400
committerRobert Morris <[email protected]>2019-07-01 17:01:50 -0400
commit18e76a6c47b0f62b2458430d4357f3eb68bfd759 (patch)
tree24b532218d747883681e96b4d6d3e33964d83459 /user
parent9b99f007434ea3af0c4834a91f19952d5670e16b (diff)
downloadxv6-labs-18e76a6c47b0f62b2458430d4357f3eb68bfd759.tar.gz
xv6-labs-18e76a6c47b0f62b2458430d4357f3eb68bfd759.tar.bz2
xv6-labs-18e76a6c47b0f62b2458430d4357f3eb68bfd759.zip
sbrk() returns a pointer, so it should be 64 bits
Diffstat (limited to 'user')
-rw-r--r--user/usertests.c11
1 files changed, 9 insertions, 2 deletions
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(<toomuch>) 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();
}