mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-29 11:41:15 +03:00
Make TEST_CALLOC_NONNULL more robust
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
This commit is contained in:
@ -160,12 +160,18 @@
|
|||||||
* \param item_count Number of elements to allocate.
|
* \param item_count Number of elements to allocate.
|
||||||
* This expression may be evaluated multiple times.
|
* This expression may be evaluated multiple times.
|
||||||
*
|
*
|
||||||
|
* Note: if passing size 0, mbedtls_calloc may return NULL. In this case,
|
||||||
|
* we reattempt to allocate with the smallest possible buffer to assure a
|
||||||
|
* non-NULL pointer.
|
||||||
*/
|
*/
|
||||||
#define TEST_CALLOC_NONNULL(pointer, item_count) \
|
#define TEST_CALLOC_NONNULL(pointer, item_count) \
|
||||||
do { \
|
do { \
|
||||||
TEST_ASSERT((pointer) == NULL); \
|
TEST_ASSERT((pointer) == NULL); \
|
||||||
(pointer) = mbedtls_calloc(sizeof(*(pointer)), \
|
(pointer) = mbedtls_calloc(sizeof(*(pointer)), \
|
||||||
(item_count)); \
|
(item_count)); \
|
||||||
|
if (((pointer) == NULL) && ((item_count) == 0)) { \
|
||||||
|
(pointer) = mbedtls_calloc(1, 1); \
|
||||||
|
} \
|
||||||
TEST_ASSERT((pointer) != NULL); \
|
TEST_ASSERT((pointer) != NULL); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user