fix creation of PHONE records with gnunet-namestore
authorlurchi <lurchi@strangeplace.net>
Tue, 22 Nov 2016 14:36:35 +0000 (15:36 +0100)
committerlurchi <lurchi@strangeplace.net>
Tue, 22 Nov 2016 15:07:51 +0000 (16:07 +0100)
The string size of the line/port part of a phone record value is 103 (base32-encoded GNUNET_HashCode). Until now it was assumed to be 128 bytes long

src/conversation/plugin_gnsrecord_conversation.c

index e2bcf7ec92b1d8eb99b040fc5a700cab9203a7a5..91cae726113a79346355755fbe2aa7ede8a8c5d4 100644 (file)
@@ -118,12 +118,12 @@ conversation_string_to_value (void *cls,
   case GNUNET_GNSRECORD_TYPE_PHONE:
     {
       struct GNUNET_CONVERSATION_PhoneRecord *pr;
-      char line_port[128];
+      char line_port[103];
       const char *dash;
       struct GNUNET_PeerIdentity peer;
 
       if ( (NULL == (dash = strchr (s, '-'))) ||
-          (1 != sscanf (s, "%128s-", line_port)) ||
+          (1 != sscanf (s, "%103s-", line_port)) ||
           (GNUNET_OK !=
            GNUNET_CRYPTO_eddsa_public_key_from_string (dash + 1,
                                                         strlen (dash + 1),