fix api for lazy pubkey loading
authorMartin Schanzenbach <mschanzenbach@posteo.de>
Mon, 18 May 2020 06:52:32 +0000 (08:52 +0200)
committerMartin Schanzenbach <mschanzenbach@posteo.de>
Mon, 18 May 2020 06:52:32 +0000 (08:52 +0200)
src/identity/identity_api.c
src/identity/identity_api_lookup.c

index 693d4392e850d163d17b17bf87a8ec559cfccaaa..c2fcc5075a20ed50988a7492c22672bcde34e22e 100644 (file)
@@ -392,6 +392,7 @@ handle_identity_update (void *cls,
       return;
     }
     ego = GNUNET_new (struct GNUNET_IDENTITY_Ego);
+    ego->pub_initialized = GNUNET_NO;
     ego->pk = um->private_key;
     ego->name = GNUNET_strdup (str);
     ego->id = id;
@@ -607,11 +608,11 @@ void
 GNUNET_IDENTITY_ego_get_public_key (struct GNUNET_IDENTITY_Ego *ego,
                                     struct GNUNET_CRYPTO_EcdsaPublicKey *pk)
 {
-  if (! ego->pub_initialized)
+  if (GNUNET_NO == ego->pub_initialized)
   {
     GNUNET_CRYPTO_ecdsa_key_get_public (&ego->pk,
                                         &ego->pub);
-    ego->pub_initialized = true;
+    ego->pub_initialized = GNUNET_YES;
   }
   *pk = ego->pub;
 }
index 6c61d39773b3a081d8e50df0518e727f4575e72d..26b1eacd79841e9047916d34ed28b63ff097cf61 100644 (file)
@@ -130,6 +130,7 @@ handle_identity_update (void *cls, const struct UpdateMessage *um)
   struct GNUNET_CRYPTO_EcdsaPublicKey pub;
   struct GNUNET_HashCode id;
   struct GNUNET_IDENTITY_Ego ego;
+  memset (&ego, 0, sizeof (ego));
 
   GNUNET_break (GNUNET_YES != ntohs (um->end_of_list));
   GNUNET_CRYPTO_ecdsa_key_get_public (&um->private_key, &pub);