All heap blocks were freed -- no leaks are possible

expecting no leaks
LEAK SUMMARY:
   definitely lost: 0 bytes in 0 blocks
   indirectly lost: 0 bytes in 0 blocks
     possibly lost: 0 bytes in 0 blocks
   still reachable: 41,000 bytes in 2 blocks
        suppressed: 0 bytes in 0 blocks
Reachable blocks (those to which a pointer was found) are not shown.
To see them, rerun with: --leak-check=full --show-leak-kinds=all

expecting a leak
1,000 bytes in 1 blocks are definitely lost in loss record ... of ...
   at 0x........: malloc (vg_replace_malloc.c:...)
   by 0x........: f (leak-segv-jmp.c:223)
   by 0x........: main (leak-segv-jmp.c:286)

LEAK SUMMARY:
   definitely lost: 1,000 bytes in 1 blocks
   indirectly lost: 0 bytes in 0 blocks
     possibly lost: 0 bytes in 0 blocks
   still reachable: 40,000 bytes in 1 blocks
        suppressed: 0 bytes in 0 blocks
Reachable blocks (those to which a pointer was found) are not shown.
To see them, rerun with: --leak-check=full --show-leak-kinds=all

mprotect result 0
expecting a leak again
1,000 bytes in 1 blocks are definitely lost in loss record ... of ...
   at 0x........: malloc (vg_replace_malloc.c:...)
   by 0x........: f (leak-segv-jmp.c:223)
   by 0x........: main (leak-segv-jmp.c:286)

LEAK SUMMARY:
   definitely lost: 1,000 bytes in 1 blocks
   indirectly lost: 0 bytes in 0 blocks
     possibly lost: 0 bytes in 0 blocks
   still reachable: 40,000 bytes in 1 blocks
        suppressed: 0 bytes in 0 blocks
Reachable blocks (those to which a pointer was found) are not shown.
To see them, rerun with: --leak-check=full --show-leak-kinds=all

full mprotect result 0
expecting a leak again after full mprotect
1,000 bytes in 1 blocks are definitely lost in loss record ... of ...
   at 0x........: malloc (vg_replace_malloc.c:...)
   by 0x........: f (leak-segv-jmp.c:223)
   by 0x........: main (leak-segv-jmp.c:286)

LEAK SUMMARY:
   definitely lost: 1,000 bytes in 1 blocks
   indirectly lost: 0 bytes in 0 blocks
     possibly lost: 0 bytes in 0 blocks
   still reachable: 40,000 bytes in 1 blocks
        suppressed: 0 bytes in 0 blocks
Reachable blocks (those to which a pointer was found) are not shown.
To see them, rerun with: --leak-check=full --show-leak-kinds=all

finished
LEAK SUMMARY:
   definitely lost: 1,000 bytes in 1 blocks
   indirectly lost: 0 bytes in 0 blocks
     possibly lost: 0 bytes in 0 blocks
   still reachable: 40,000 bytes in 1 blocks
        suppressed: 0 bytes in 0 blocks
Rerun with --leak-check=full to see details of leaked memory

leaked:     1000 bytes in  1 blocks
dubious:      0 bytes in  0 blocks
reachable:  40000 bytes in  1 blocks
suppressed:   0 bytes in  0 blocks

HEAP SUMMARY:
    in use at exit: 41,000 bytes in 2 blocks
  total heap usage: 2 allocs, 0 frees, 41,000 bytes allocated

For a detailed leak analysis, rerun with: --leak-check=full

For counts of detected and suppressed errors, rerun with: -v
ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)