qrcode-util: avoid memleak in error path

This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2024-10-29 09:41:54 +01:00
parent b137b29798
commit 439306da8b
+4 -3
View File
@@ -173,6 +173,8 @@ static void write_qrcode(FILE *output, QRcode *qr, unsigned int row, unsigned in
fflush(output);
}
DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(QRcode*, sym_QRcode_free, NULL);
int print_qrcode_full(
FILE *out,
const char *header,
@@ -183,7 +185,6 @@ int print_qrcode_full(
unsigned tty_height,
bool check_tty) {
QRcode* qr;
int r;
/* If this is not a UTF-8 system or ANSI colors aren't supported/disabled don't print any QR
@@ -197,7 +198,8 @@ int print_qrcode_full(
if (r < 0)
return r;
qr = sym_QRcode_encodeString(string, 0, QR_ECLEVEL_L, QR_MODE_8, 1);
_cleanup_(sym_QRcode_freep) QRcode *qr =
sym_QRcode_encodeString(string, 0, QR_ECLEVEL_L, QR_MODE_8, 1);
if (!qr)
return log_oom_debug();
@@ -231,7 +233,6 @@ int print_qrcode_full(
write_qrcode(out, qr, row, column);
fputc('\n', out);
sym_QRcode_free(qr);
return 0;
}
#endif