From 3964a0f759e52a2e5f08437263a59cd1b5f26852 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 18 Mar 2025 17:02:44 -0700 Subject: [PATCH] simplereader: Fix warning about use of pointer variable after free() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We weren't dereferencing the variable, so this should have been safe. However, it isn't clear in the C and C++ standards whether it legitimately was safe. So let's just fix it. ``` simplereader.c:180:9: warning: pointer ‘buf’ may be used after ‘free’ [-Wuse-after-free] simplereader.c:177:5: note: call to ‘free’ here ``` Signed-off-by: Thiago Macieira --- examples/simplereader.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/simplereader.c b/examples/simplereader.c index a815a360..13473eff 100644 --- a/examples/simplereader.c +++ b/examples/simplereader.c @@ -174,12 +174,13 @@ int main(int argc, char **argv) CborError err = cbor_parser_init(buf, length, 0, &parser, &it); if (!err) err = dumprecursive(&it, 0); - free(buf); if (err) { fprintf(stderr, "CBOR parsing failure at offset %ld: %s\n", cbor_value_get_next_byte(&it) - buf, cbor_error_string(err)); + free(buf); return 1; } + free(buf); return 0; }