As reported on GH #3099, upon memory error add_to_logformat_list() will
return and error but it fails to properly memory which was allocated
within the function, which could result in memory leak.
Let's free all relevant variables allocated by the function before returning.
No backport needed unless
22ac1f5ee ("("BUG/MINOR: log: Add OOM checks for
calloc() and malloc() in logformat parser and dup_logger()") is.
struct logformat_node *node = calloc(1, sizeof(*node));
str = calloc(1, end - start + 1);
if (unlikely(!node || !str)) {
+ free(node);
+ free(str);
memprintf(err, "out of memory error");
return 0;
}