fprintf(stderr, "parent after 1st bad pdfork\n");
int anotherfd;
int badflag;
+ anotherfd = 2 + badflag;
+ anotherfd -= badflag;
// without this the last pdfork succeeds on arm64
badflag = -1 + anotherfd;
badflag -=anotherfd;
parent after 1st bad pdfork
Syscall param pdgetpid(fd) contains uninitialised byte(s)
...
- by 0x........: main (pdfork_pdkill.c:101)
+ by 0x........: main (pdfork_pdkill.c:104)
Syscall param pdgetpid(pidp)) points to unaddressable byte(s)
...
- by 0x........: main (pdfork_pdkill.c:101)
+ by 0x........: main (pdfork_pdkill.c:104)
Address 0x........ is 0 bytes inside a block of size 4 free'd
at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: main (pdfork_pdkill.c:100)
+ by 0x........: main (pdfork_pdkill.c:103)
Block was alloc'd at
at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (pdfork_pdkill.c:99)
-
-Conditional jump or move depends on uninitialised value(s)
- ...
- by 0x........: main (pdfork_pdkill.c:101)
+ by 0x........: main (pdfork_pdkill.c:102)
Syscall param pdfork(flags) contains uninitialised byte(s)
...
- by 0x........: main (pdfork_pdkill.c:102)
+ by 0x........: main (pdfork_pdkill.c:105)
FILE DESCRIPTORS: 3 open (3 inherited) at exit.
Open file descriptor ...