diff --git a/g10/card-util.c b/g10/card-util.c index 3f91fe78f..168427552 100644 --- a/g10/card-util.c +++ b/g10/card-util.c @@ -740,7 +740,8 @@ card_status (ctrl_t ctrl, estream_t fp, const char *serialno) /* Select the original card again. */ err = agent_scd_serialno (&serialno1, serialno0); - xfree (serialno1); + if (!err) + xfree (serialno1); leave: xfree (serialno0);