scd: Improve KDF-DO support
authorArnaud Fontaine <arnaud.fontaine@ssi.gouv.fr>
Thu, 8 Feb 2018 18:03:08 +0000 (19:03 +0100)
committerNIIBE Yutaka <gniibe@fsij.org>
Tue, 13 Feb 2018 00:28:13 +0000 (09:28 +0900)
* scd/app-openpgp.c (pin2hash_if_kdf): Check the content of KDF DO.

--

Length check added by gniibe.

Signed-off-by: Arnaud Fontaine <arnaud.fontaine@ssi.gouv.fr>
scd/app-openpgp.c

index 5b1b0d3..f3065ed 100644 (file)
@@ -2072,7 +2072,8 @@ pin2hash_if_kdf (app_t app, int chvno, char *pinvalue, int *r_pinlen)
   size_t buflen;
 
   if (app->app_local->extcap.kdf_do
-      && (relptr = get_one_do (app, 0x00F9, &buffer, &buflen, NULL)))
+      && (relptr = get_one_do (app, 0x00F9, &buffer, &buflen, NULL))
+      && buflen == 110 && (buffer[2] == 0x03))
     {
       char *salt;
       unsigned long s2k_count;