diff options
Diffstat (limited to 'lib/opencdk/read-packet.c')
-rw-r--r-- | lib/opencdk/read-packet.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/opencdk/read-packet.c b/lib/opencdk/read-packet.c index f1d165053b..8cba25c471 100644 --- a/lib/opencdk/read-packet.c +++ b/lib/opencdk/read-packet.c @@ -596,8 +596,10 @@ read_subpkt(cdk_stream_t inp, cdk_subpkt_t * r_ctx, size_t * r_nbytes) node->size--; rc = stream_read(inp, node->d, node->size, &nread); n += nread; - if (rc) + if (rc) { + cdk_subpkt_free(node); return rc; + } *r_nbytes = n; if (!*r_ctx) *r_ctx = node; |