api: Don't use free directly with cr_asprintf. Fixes #87
This commit is contained in:
parent
9b88f244b6
commit
32fea80b7d
3 changed files with 9 additions and 3 deletions
|
@ -37,6 +37,7 @@ CR_BEGIN_C_API
|
|||
CR_FORMAT(printf, 2, 3)
|
||||
CR_API int cr_asprintf(char **strp, const char *fmt, ...);
|
||||
CR_API int cr_vasprintf(char **strp, const char *fmt, va_list ap);
|
||||
CR_API void cr_asprintf_free(char *buf);
|
||||
|
||||
CR_END_C_API
|
||||
|
||||
|
|
|
@ -97,10 +97,10 @@ CR_END_C_API
|
|||
if (cr_fmt_msg__ && cr_fmt_msg__[1]) { \
|
||||
MsgVar = cr_fmt_msg__ + 1; \
|
||||
Shifted = 1; \
|
||||
CR_STDN free(cr_def_msg__); \
|
||||
cr_asprintf_free(cr_def_msg__); \
|
||||
} else { \
|
||||
MsgVar = cr_def_msg__; \
|
||||
CR_STDN free(cr_fmt_msg__); \
|
||||
cr_asprintf_free(cr_fmt_msg__); \
|
||||
} \
|
||||
} while (0))
|
||||
|
||||
|
@ -122,7 +122,7 @@ CR_END_C_API
|
|||
cr_stat__.message = cr_msg__; \
|
||||
criterion_send_assert(&cr_stat__); \
|
||||
\
|
||||
CR_STDN free(cr_msg__ - cr_shifted__); \
|
||||
cr_asprintf_free(cr_msg__ - cr_shifted__); \
|
||||
\
|
||||
if (!cr_passed__) \
|
||||
Fail(); \
|
||||
|
|
|
@ -61,3 +61,8 @@ cleanup:
|
|||
va_end(vl);
|
||||
return res;
|
||||
}
|
||||
|
||||
void cr_asprintf_free(char *buf)
|
||||
{
|
||||
free(buf);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue