Description
#include <stdio.h>
#include <unistd.h>
#include <syscall.h>
#include <sys/wait.h>
int main(int argc, char *argv[]) {
printf("p getpid()=%d gettid()=%d\n", getpid(), gettid());
int pid = fork();
if (pid == 0) {
printf("getpid()=%d gettid()=%d NR_getpid=%ld NR_gettid=%ld\n", getpid(), gettid(),
syscall(__NR_getpid), syscall(__NR_gettid));
} else if (pid > 0) {
waitpid(pid, nullptr, 0);
}
return 0;
}
release build and exec
p getpid()=22023 gettid()=22023
getpid()=22024 gettid()=22023 NR_getpid=22024 NR_gettid=22024
decompile
__int64 sub_888()
{
unsigned int v0; // w20
unsigned int v1; // w19
int v2; // w0
unsigned int v3; // w20
__int64 v4; // x21
__int64 v5; // x0
v0 = getpid();
v1 = gettid();
printf("p getpid()=%d gettid()=%d\n", v0, v1);
v2 = fork();
if ( v2 )
{
if ( v2 >= 1 )
waitpid(v2, 0LL, 0);
}
else
{
v3 = getpid();
v4 = syscall(172LL);
v5 = syscall(178LL);
printf("getpid()=%d gettid()=%d NR_getpid=%ld NR_gettid=%ld\n", v3, v1, v4, v5);
}
return 0LL;
}
Affected versions
r27
Canary version
No response
Host OS
Windows
Host OS version
Windows10
Affected ABIs
arm64-v8a
Build system
ndk-build
Other build system
No response
minSdkVersion
23
Device API level
34
Description
release build and exec
decompile
Affected versions
r27
Canary version
No response
Host OS
Windows
Host OS version
Windows10
Affected ABIs
arm64-v8a
Build system
ndk-build
Other build system
No response
minSdkVersion
23
Device API level
34