Fix for sanitize string. Added SHA224
[gnupg.git] / scd / pcsc-wrapper.c
index 93e78fd..23e8442 100644 (file)
@@ -15,7 +15,8 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
  */
 
 /*
@@ -390,9 +391,9 @@ handle_open (unsigned char *argbuf, size_t arglen)
   unsigned char atr[33];
 
   /* Make sure there is only the port string */
-  if (arglen != strlen (argbuf))
+  if (arglen != strlen ((char*)argbuf))
     bad_request ("OPEN");
-  portstr = argbuf;
+  portstr = (char*)argbuf;
 
   if (driver_is_open)
     {
@@ -587,6 +588,11 @@ handle_status (unsigned char *argbuf, size_t arglen)
   buf[5] = (rdrstates[0].event_state >> 16);
   buf[6] = (rdrstates[0].event_state >>  8);
   buf[7] = (rdrstates[0].event_state >>  0);
+  /* The third word is the protocol. */
+  buf[8]  = (pcsc_protocol >> 24);
+  buf[9]  = (pcsc_protocol >> 16);
+  buf[10] = (pcsc_protocol >> 8);
+  buf[11] = (pcsc_protocol);
 
   request_succeeded (buf, 8);
 }
@@ -813,7 +819,6 @@ main (int argc, char **argv)
           fprintf (stderr, PGM ": invalid request 0x%02X\n", c);
           exit (1);
         }
-      free (argbuffer);
     }
   return 0;
 }