X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftally%2Ftally.c;h=396474b250e0c04be0b8a581a2fddc1bb553c7a4;hp=b1839befe3b4016287ded6203767be305e65b657;hb=8fc7a90a8db345c4276419d11f8731afc63f65f5;hpb=0284423676209380a2e07086b9b356096a2f93e6 diff --git a/ccan/tally/tally.c b/ccan/tally/tally.c index b1839bef..396474b2 100644 --- a/ccan/tally/tally.c +++ b/ccan/tally/tally.c @@ -27,8 +27,8 @@ struct tally *tally_new(unsigned buckets) if (buckets == 0) buckets = 1; - /* Check for overflow. */ - if (buckets && SIZE_MAX / buckets < sizeof(tally->counts[0])) + /* Overly cautious check for overflow. */ + if (sizeof(*tally) * buckets / sizeof(*tally) != buckets) return NULL; tally = malloc(sizeof(*tally) + sizeof(tally->counts[0])*(buckets-1)); if (tally) {