]> granicus.if.org Git - strace/commitdiff
tests: robustify execve and execveat tests
authorDmitry V. Levin <ldv@altlinux.org>
Sat, 13 Feb 2016 01:23:26 +0000 (01:23 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sat, 13 Feb 2016 01:32:48 +0000 (01:32 +0000)
* tests/execve.c (main): Use one page gap between two mapped regions
for an address that is more likely to be not yet mapped.
* tests/execveat.c (main): Likewise.

tests/execve.c
tests/execveat.c

index 3d2bbe1d02fcd65d9125f5ae2146970ba6fefe95..82e32c6062382150e0042fc35f0e07404732751f 100644 (file)
@@ -105,6 +105,7 @@ main(void)
               );
 
        char **const empty = tail_alloc(sizeof(*empty));
+       char **const efault = empty + 1;
        *empty = NULL;
 
        execve(FILENAME, empty, empty);
@@ -159,8 +160,6 @@ main(void)
 #endif
        printf("]) = -1 ENOENT (%m)\n");
 
-       const void * const efault = tail_alloc(0);
-
        execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
        printf("execve(\"%s\", NULL, %p) = -1 ENOENT (%m)\n",
               Q_FILENAME, efault);
index 8ac2cd18a3910148a3cf9fde7aef2f19659a58d1..d4ead406f0a517e0f193fbd951a3541ae554fb26 100644 (file)
@@ -107,7 +107,8 @@ main(void)
 #endif
               errno == ENOSYS ? "ENOSYS" : "ENOENT");
 
-       const char **const empty = tail_alloc(sizeof(*empty));
+       char **const empty = tail_alloc(sizeof(*empty));
+       char **const efault = empty + 1;
        *empty = NULL;
 
        syscall(__NR_execveat, -100, FILENAME, empty, empty, 0x1100);
@@ -165,8 +166,6 @@ main(void)
        printf("], AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
               errno == ENOSYS ? "ENOSYS" : "ENOENT");
 
-       const void * const efault = tail_alloc(0);
-
        syscall(__NR_execveat, -100, FILENAME, NULL, efault, 0x1100);
        printf("execveat(AT_FDCWD, \"%s\", NULL, %p"
               ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",