From: <ro...@us...> - 2003-11-14 16:57:52
|
Update of /cvsroot/ltp/ltp/testcases/kernel/syscalls/write In directory sc8-pr-cvs1:/tmp/cvs-serv25415/testcases/kernel/syscalls/write Modified Files: write03.c write05.c Log Message: Applied patch from Sussane Wintenberger to make the invalid address test portable. Index: write03.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/write/write03.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- write03.c 1 Apr 2003 20:28:42 -0000 1.2 +++ write03.c 14 Nov 2003 16:57:49 -0000 1.3 @@ -53,6 +53,7 @@ #include <errno.h> #include <test.h> #include <usctest.h> +#include <sys/mman.h> /* 0 terminated list of expected errnos */ int exp_enos[] = {14,0}; @@ -61,6 +62,8 @@ int TST_TOTAL = 1; extern int Tst_count; +char * bad_addr = 0; + void setup(void); void cleanup(void); @@ -109,7 +112,7 @@ /*NOTREACHED*/ } - if (write(fd, (void *)-1, 100) != -1) { + if (write(fd, bad_addr, 100) != -1) { tst_resm(TFAIL, "write(2) failed to fail"); cleanup(); /*NOTREACHED*/ @@ -166,6 +169,12 @@ tst_tmpdir(); sprintf(filename, "./write03.%d", getpid()); + + bad_addr = mmap(0, 1, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0); + if (bad_addr <= 0) { + printf("mmap failed\n"); + } + } /* Index: write05.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/write/write05.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- write05.c 1 Apr 2003 20:28:43 -0000 1.4 +++ write05.c 14 Nov 2003 16:57:49 -0000 1.5 @@ -56,9 +56,11 @@ #include <errno.h> #include <stdio.h> #include <wait.h> +#include <sys/mman.h> #include "test.h" #include "usctest.h" + void setup(void); void cleanup(void); @@ -70,6 +72,8 @@ extern int Tst_count; char filename[100]; +char * bad_addr = 0; + int main(int argc, char **argv) { int lc; /* loop counter */ @@ -116,7 +120,7 @@ cleanup(); /*NOTREACHED*/ } - if (write(fd, (void *)-1, 10) != -1) { + if (write(fd, bad_addr, 10) != -1) { tst_resm(TFAIL, "write() on an invalid buffer " "succeeded, but should have failed"); cleanup(); @@ -206,6 +210,12 @@ tst_tmpdir(); sprintf(filename, "write05.%d", getpid()); + + bad_addr = mmap(0, 1, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0); + if (bad_addr <= 0) { + printf("mmap failed\n"); + } + } /* |