]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
This causes problems on setups where ld.so is mapped at just over 1M:
authorJulian Seward <jseward@acm.org>
Mon, 6 Feb 2006 23:22:31 +0000 (23:22 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 6 Feb 2006 23:22:31 +0000 (23:22 +0000)
it zeroes out that area (as a result of one of the mmaps) and the
program consequently goes into an infinite loop.  Change the map sizes
to just one page to avoid that.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5616

memcheck/tests/zeropage.c

index a4ba95f247db02e2f314c8e5ca2068735ad78bf5..4302b2fe100e1a492c604fbd259cc0ba7bf070a7 100644 (file)
 int main(void)
 {
    /* mmap(0x0, ... FIXED) should fail */
-   int* m = mmap(0x0, 1000000, PROT_READ|PROT_WRITE, 
+   int* m = mmap(0x0, 4096, PROT_READ|PROT_WRITE, 
                  MAP_PRIVATE|MAP_ANON|MAP_FIXED, -1, 0);
    if (m != (int*)-1)
       printf("succeeded?!\n");
 
    /* mmap(0x1000, ... FIXED) should fail */
-        m = mmap((void*)0x1000, 1000000, PROT_READ|PROT_WRITE, 
+        m = mmap((void*)0x1000, 4096, PROT_READ|PROT_WRITE, 
                  MAP_PRIVATE|MAP_ANON|MAP_FIXED, -1, 0);
    if (m != (int*)-1)
       printf("succeeded?!\n");
 
    /* mmap(0xa000, ... FIXED) should fail */
-        m = mmap((void*)0xa000, 1000000, PROT_READ|PROT_WRITE, 
+        m = mmap((void*)0xa000, 4096, PROT_READ|PROT_WRITE, 
                  MAP_PRIVATE|MAP_ANON|MAP_FIXED, -1, 0);
    if (m != (int*)-1)
       printf("succeeded?!\n");
 
    /* mmap(0x10000, ... FIXED) should fail */
-        m = mmap((void*)0x10000, 1000000, PROT_READ|PROT_WRITE, 
+        m = mmap((void*)0x10000, 4096, PROT_READ|PROT_WRITE, 
                  MAP_PRIVATE|MAP_ANON|MAP_FIXED, -1, 0);
    if (m == (int*)-1)
       printf("failed?!\n");