scd: Fix APP reference counting.
authorNIIBE Yutaka <gniibe@fsij.org>
Thu, 26 Jan 2017 10:32:51 +0000 (19:32 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Thu, 26 Jan 2017 10:32:51 +0000 (19:32 +0900)
* scd/app.c (scd_update_reader_status_file): Don't call another
release_application_internal.
* scd/command.c (open_card_with_request): Don't require APPTYPE !=
NULL.

Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
scd/app.c
scd/command.c

index 88a3801..b10a452 100644 (file)
--- a/scd/app.c
+++ b/scd/app.c
@@ -1049,7 +1049,6 @@ scd_update_reader_status_file (void)
                 {
                   log_debug ("Removal of a card: %d\n", a->slot);
                   apdu_close_reader (a->slot);
-                  release_application_internal (a);
                   deallocate_app (a);
                 }
               else
index 8c7ca20..26f8630 100644 (file)
@@ -221,7 +221,7 @@ open_card_with_request (ctrl_t ctrl, const char *apptype, const char *serialno)
   /* If we are already initialized for one specific application we
      need to check that the client didn't requested a specific
      application different from the one in use before we continue. */
-  if (apptype && ctrl->app_ctx)
+  if (ctrl->app_ctx)
     return check_application_conflict (apptype, ctrl->app_ctx);
 
   if (serialno)