If _metadata_ is allocated with metadata_len in fail case of
posix_memalign() for _data_, it should be freed properly.
Add freeing _metadata_ if _data_ is failed to be allocated.
Signed-off-by: Minwoo Im <minwoo.im.dev@gmail.com>
metadata = malloc(cfg.metadata_len);
if (cfg.data_len) {
if (posix_memalign(&data, getpagesize(), cfg.data_len)) {
+ if (metadata)
+ free(metadata);
fprintf(stderr, "can not allocate data payload\n");
return ENOMEM;
}