X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fsrc%2Ftestsuite%2Fhashcalc.c;h=2d83a51d014dc5811330ff158858b54e713b852c;hb=faa778968d1a7dfeaebc9fe4b847e691dc62fd15;hp=1f74df00cb0bb1aa6e640b8b22759b153fc14894;hpb=42b4c2a7fee6415ac558ebf92834d72ec769fb1b;p=util-vserver.git diff --git a/util-vserver/src/testsuite/hashcalc.c b/util-vserver/src/testsuite/hashcalc.c index 1f74df0..2d83a51 100644 --- a/util-vserver/src/testsuite/hashcalc.c +++ b/util-vserver/src/testsuite/hashcalc.c @@ -31,8 +31,20 @@ int main(int UNUSED argc, char *argv[]) { int fd = open(argv[1], O_NOFOLLOW|O_NONBLOCK|O_RDONLY|O_NOCTTY); struct stat st; - HashPath d_path; off_t size; + struct { + volatile unsigned int canary0; + volatile unsigned int canary1; + HashPath d; + volatile unsigned int canary2; + volatile unsigned int canary3; + } __attribute__((__packed__)) d_path; + + d_path.canary0 = 0x12345678; + d_path.canary1 = 0x21436587; + d_path.canary2 = 0x89abcdef; + d_path.canary3 = 0x98badcfe; + memset(d_path.d, 0x66, sizeof d_path.d); global_info.hash_conf.method = hashFunctionFind(argv[2]); @@ -47,9 +59,13 @@ int main(int UNUSED argc, char *argv[]) memset(&st, 0, sizeof st); st.st_size = size; - assert(calculateHashFromFD(fd, d_path, &st)); + assert(calculateHashFromFD(fd, d_path.d, &st)); + assert(d_path.canary0 == 0x12345678); + assert(d_path.canary1 == 0x21436587); + assert(d_path.canary2 == 0x89abcdef); + assert(d_path.canary3 == 0x98badcfe); - Vwrite(1, d_path, strlen(d_path)); + Vwrite(1, d_path.d, strlen(d_path.d)); Vwrite(1, "\n", 1); hashFunctionContextFree(&global_info.hash_context);