| 581 | size_overflow(); |
| 582 | } |
| 583 | |
| 584 | ATTRIBUTE_PURE_114833_HACK |
| 585 | static ptrdiff_t |
| 586 | size_product(ptrdiff_t nitems, ptrdiff_t itemsize) |
| 587 | { |
| 588 | #ifdef ckd_mul |
| 589 | ptrdiff_t product; |
| 590 | if (!ckd_mul(&product, nitems, itemsize) && product <= INDEX_MAX) |
| 591 | return product; |
| 592 | #else |
| 593 | ptrdiff_t nitems_max = INDEX_MAX / itemsize; |
| 594 | if (nitems <= nitems_max) |
| 595 | return nitems * itemsize; |
| 596 | #endif |
| 597 | size_overflow(); |
| 598 | } |
| 599 | |
| 600 | ATTRIBUTE_PURE_114833_HACK |
no test coverage detected