Add sc_release_context() before exit()

This commit is contained in:
Zhang Xiaohui 2020-10-18 10:13:11 +08:00 committed by Frank Morgner
parent 4cc0d0c7c9
commit e8f27abd02
1 changed files with 4 additions and 0 deletions

View File

@ -542,17 +542,20 @@ int main(
if(!strcmp("tcos", ctx->card_drivers[i]->short_name)) break;
if(!ctx->card_drivers[i]){
fprintf(stderr,"Context does not support TCOS-cards\n");
sc_release_context(ctx);
exit(1);
}
printf("%d Readers detected\n", sc_ctx_get_reader_count(ctx));
if(reader < 0 || reader >= (int)sc_ctx_get_reader_count(ctx)){
fprintf(stderr,"Cannot open reader %d\n", reader);
sc_release_context(ctx);
exit(1);
}
if((r = sc_connect_card(sc_ctx_get_reader(ctx, 0), &card))<0){
fprintf(stderr,"Connect-Card failed: %s\n", sc_strerror(r));
sc_release_context(ctx);
exit(1);
}
printf("\nCard detected (driver: %s)\nATR:", card->driver->name);
@ -562,6 +565,7 @@ int main(
if((r = sc_lock(card))<0){
fprintf(stderr,"Lock failed: %s\n", sc_strerror(r));
sc_release_context(ctx);
exit(1);
}