X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/bd4a8f51649ee37291c6e07310104a94f4f5fbed..d27daedb6a0bf672508072100f20233d08ccf0e0:/test/integration/framework diff --git a/test/integration/framework b/test/integration/framework index 2cc6be3dd..8ea1e1c0d 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -477,6 +477,7 @@ configdpkgnoopchroot() { #include #include #include +#include static char * chrootdir = NULL; @@ -493,13 +494,11 @@ int execvp(const char *file, char *const argv[]) { if (chrootdir == NULL || strncmp(file, "/var/lib/dpkg/", strlen("/var/lib/dpkg/")) != 0) return func_execvp(file, argv); printf("REWRITE execvp call %s into %s\n", file, chrootdir); - char newfile[strlen(chrootdir) + strlen(file)]; - strcpy(newfile, chrootdir); - strcat(newfile, file); + char newfile[PATH_MAX]; + snprintf(newfile, sizeof(newfile), "%s/%s", chrootdir, file); char const * const baseadmindir = "/var/lib/dpkg"; - char admindir[strlen(chrootdir) + strlen(baseadmindir)]; - strcpy(admindir, chrootdir); - strcat(admindir, baseadmindir); + char admindir[PATH_MAX]; + snprintf(admindir, sizeof(admindir), "%s/%s", chrootdir, baseadmindir); setenv("DPKG_ADMINDIR", admindir, 1); return func_execvp(newfile, argv); } @@ -1510,7 +1509,10 @@ msgfailoutput() { if expr match "$1" "$FILEFLAGS" >/dev/null; then echo "#### stat(2) of file: $2 ####" stat "$2" || true - if test -e "$2"; then + if test -d "$2"; then + echo "#### The directory contains: $2 ####" + ls >&2 "$2" || true + elif test -e "$2"; then echo "#### Complete file: $2 ####" cat >&2 "$2" || true fi