X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftal%2Ftest%2Frun-overflow.c;fp=ccan%2Ftal%2Ftest%2Frun-overflow.c;h=989fcd2aba2eee5e9339e06abdd3be4eb7549644;hp=6c4ccff4379dc97d4be669d8fe2c5224086c5618;hb=e03d7ecb505cb73ff244708323b0f1a5a0c5cd7a;hpb=c8a55bb39404772d459f0153f07db7ecc91ecfd0 diff --git a/ccan/tal/test/run-overflow.c b/ccan/tal/test/run-overflow.c index 6c4ccff4..989fcd2a 100644 --- a/ccan/tal/test/run-overflow.c +++ b/ccan/tal/test/run-overflow.c @@ -28,57 +28,58 @@ int main(void) /* Now try overflow cases for tal_dup. */ error_count = 0; - pi = origpi = tal_arr(NULL, int, 100); - ok1(pi); + origpi = tal_arr(NULL, int, 100); + ok1(origpi); ok1(error_count == 0); - pi = tal_dup(NULL, int, pi, (size_t)-1, 0); + pi = tal_dup(NULL, int, origpi, (size_t)-1, 0); ok1(!pi); ok1(error_count == 1); - pi = tal_dup(NULL, int, pi, 0, (size_t)-1); + pi = tal_dup(NULL, int, origpi, 0, (size_t)-1); ok1(!pi); ok1(error_count == 2); - pi = tal_dup(NULL, int, pi, (size_t)-1UL / sizeof(int), + pi = tal_dup(NULL, int, origpi, (size_t)-1UL / sizeof(int), (size_t)-1UL / sizeof(int)); ok1(!pi); ok1(error_count == 3); /* This will still overflow when tal_hdr is added. */ - pi = tal_dup(NULL, int, pi, (size_t)-1UL / sizeof(int) / 2, + pi = tal_dup(NULL, int, origpi, (size_t)-1UL / sizeof(int) / 2, (size_t)-1UL / sizeof(int) / 2); ok1(!pi); ok1(error_count == 4); + ok1(tal_first(NULL) == origpi && !tal_next(NULL, origpi)); + tal_free(origpi); - /* Now, check that with TAL_TAKE we free old one on failure. */ - pi = tal_arr(NULL, int, 100); + /* Now, check that with taltk() we free old one on failure. */ + origpi = tal_arr(NULL, int, 100); error_count = 0; - pi = tal_dup(TAL_TAKE, int, pi, (size_t)-1, 0); + pi = tal_dup(NULL, int, take(origpi), (size_t)-1, 0); ok1(!pi); ok1(error_count == 1); - ok1(tal_first(NULL) == origpi && !tal_next(NULL, origpi)); - pi = tal_arr(NULL, int, 100); + origpi = tal_arr(NULL, int, 100); error_count = 0; - pi = tal_dup(TAL_TAKE, int, pi, 0, (size_t)-1); + pi = tal_dup(NULL, int, take(origpi), 0, (size_t)-1); ok1(!pi); ok1(error_count == 1); - ok1(tal_first(NULL) == origpi && !tal_next(NULL, origpi)); + ok1(!tal_first(NULL)); - pi = tal_arr(NULL, int, 100); + origpi = tal_arr(NULL, int, 100); error_count = 0; - pi = tal_dup(TAL_TAKE, int, pi, (size_t)-1UL / sizeof(int), + pi = tal_dup(NULL, int, take(origpi), (size_t)-1UL / sizeof(int), (size_t)-1UL / sizeof(int)); ok1(!pi); ok1(error_count == 1); - ok1(tal_first(NULL) == origpi && !tal_next(NULL, origpi)); + ok1(!tal_first(NULL)); - pi = tal_arr(NULL, int, 100); + origpi = tal_arr(NULL, int, 100); error_count = 0; /* This will still overflow when tal_hdr is added. */ - pi = tal_dup(TAL_TAKE, int, pi, (size_t)-1UL / sizeof(int) / 2, + pi = tal_dup(NULL, int, take(origpi), (size_t)-1UL / sizeof(int) / 2, (size_t)-1UL / sizeof(int) / 2); ok1(!pi); ok1(error_count == 1); - ok1(tal_first(NULL) == origpi && !tal_next(NULL, origpi)); + ok1(!tal_first(NULL)); return exit_status(); }