Fix segv. gnupg-2.0.11
authorWerner Koch <wk@gnupg.org>
Tue, 3 Mar 2009 12:02:42 +0000 (12:02 +0000)
committerWerner Koch <wk@gnupg.org>
Tue, 3 Mar 2009 12:02:42 +0000 (12:02 +0000)
scd/ChangeLog
scd/command.c

index 1fd2de8..bcfd65b 100644 (file)
@@ -1,3 +1,8 @@
+2009-03-03  Werner Koch  <wk@g10code.com>
+
+       * command.c (scd_command_handler): Remove dereference of STOPME
+       after free.
+
 2009-02-27  Werner Koch  <wk@g10code.com>
 
        * app.c (get_supported_applications): New.
index 07a1e9b..40bf2a2 100644 (file)
@@ -1857,6 +1857,7 @@ scd_command_handler (ctrl_t ctrl, int fd)
 {
   int rc;
   assuan_context_t ctx;
+  int stopme;
   
   if (fd == -1)
     {
@@ -1942,13 +1943,14 @@ scd_command_handler (ctrl_t ctrl, int fd)
           BUG ();
       sl->next_session = ctrl->server_local->next_session;
     }
+  stopme = ctrl->server_local->stopme;
   xfree (ctrl->server_local);
   ctrl->server_local = NULL;
 
   /* Release the Assuan context.  */
   assuan_deinit_server (ctx);
 
-  if (ctrl->server_local->stopme)
+  if (stopme)
     scd_exit (0);
 
   /* If there are no more sessions return true.  */