Skip to content

Commit 9725496

Browse files
committed
lib: add SAFE_CALLOC macro
Signed-off-by: Li Wang <[email protected]> Reviewed-by: Cyril Hrubis <[email protected]>
1 parent 1ba882c commit 9725496

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

include/tst_safe_macros.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,11 @@ int safe_dup2(const char *file, const int lineno, int oldfd, int newfd);
7575
#define SAFE_MALLOC(size) \
7676
safe_malloc(__FILE__, __LINE__, NULL, (size))
7777

78+
void *safe_calloc(const char *file, const int lineno, size_t nmemb, size_t size);
79+
80+
#define SAFE_CALLOC(nmemb, size) \
81+
safe_calloc(__FILE__, __LINE__, (nmemb), (size))
82+
7883
void *safe_realloc(const char *file, const int lineno, void *ptr, size_t size);
7984

8085
#define SAFE_REALLOC(ptr, size) \

lib/tst_safe_macros.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -546,6 +546,20 @@ int safe_dup2(const char *file, const int lineno, int oldfd, int newfd)
546546
return rval;
547547
}
548548

549+
void *safe_calloc(const char *file, const int lineno, size_t nmemb, size_t size)
550+
{
551+
void *rval;
552+
553+
rval = calloc(nmemb, size);
554+
555+
if (rval == NULL) {
556+
tst_brk_(file, lineno, TBROK | TERRNO,
557+
"calloc(%zu, %zu) failed", nmemb, size);
558+
}
559+
560+
return rval;
561+
}
562+
549563
void *safe_realloc(const char *file, const int lineno, void *ptr, size_t size)
550564
{
551565
void *ret;

0 commit comments

Comments
 (0)