aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/revocation/gnunet-service-revocation.c10
-rw-r--r--src/revocation/plugin_block_revocation.c9
2 files changed, 17 insertions, 2 deletions
diff --git a/src/revocation/gnunet-service-revocation.c b/src/revocation/gnunet-service-revocation.c
index 6f70720ba..2d8111adb 100644
--- a/src/revocation/gnunet-service-revocation.c
+++ b/src/revocation/gnunet-service-revocation.c
@@ -943,9 +943,17 @@ run (void *cls,
943 } 943 }
944 struct GNUNET_REVOCATION_PowP *pow = (struct 944 struct GNUNET_REVOCATION_PowP *pow = (struct
945 GNUNET_REVOCATION_PowP *) &rm[1]; 945 GNUNET_REVOCATION_PowP *) &rm[1];
946 ssize_t ksize;
946 pk = (const struct GNUNET_IDENTITY_PublicKey *) &pow[1]; 947 pk = (const struct GNUNET_IDENTITY_PublicKey *) &pow[1];
948 ksize = GNUNET_IDENTITY_key_get_length (pk);
949 if (0 > ksize)
950 {
951 GNUNET_break_op (0);
952 GNUNET_free (fn);
953 return;
954 }
947 GNUNET_CRYPTO_hash (pk, 955 GNUNET_CRYPTO_hash (pk,
948 GNUNET_IDENTITY_key_get_length (pk), 956 ksize,
949 &hc); 957 &hc);
950 GNUNET_break (GNUNET_OK == 958 GNUNET_break (GNUNET_OK ==
951 GNUNET_CONTAINER_multihashmap_put (revocation_map, 959 GNUNET_CONTAINER_multihashmap_put (revocation_map,
diff --git a/src/revocation/plugin_block_revocation.c b/src/revocation/plugin_block_revocation.c
index 1928d09cd..da5882d59 100644
--- a/src/revocation/plugin_block_revocation.c
+++ b/src/revocation/plugin_block_revocation.c
@@ -190,6 +190,7 @@ block_plugin_revocation_get_key (void *cls,
190 struct GNUNET_HashCode *key) 190 struct GNUNET_HashCode *key)
191{ 191{
192 const struct RevokeMessage *rm = block; 192 const struct RevokeMessage *rm = block;
193 ssize_t ksize;
193 194
194 if (block_size <= sizeof(*rm)) 195 if (block_size <= sizeof(*rm))
195 { 196 {
@@ -199,8 +200,14 @@ block_plugin_revocation_get_key (void *cls,
199 struct GNUNET_REVOCATION_PowP *pow = (struct GNUNET_REVOCATION_PowP *) &rm[1]; 200 struct GNUNET_REVOCATION_PowP *pow = (struct GNUNET_REVOCATION_PowP *) &rm[1];
200 const struct GNUNET_IDENTITY_PublicKey *pk; 201 const struct GNUNET_IDENTITY_PublicKey *pk;
201 pk = (const struct GNUNET_IDENTITY_PublicKey *) &pow[1]; 202 pk = (const struct GNUNET_IDENTITY_PublicKey *) &pow[1];
203 ksize = GNUNET_IDENTITY_key_get_length (pk);
204 if (0 > ksize)
205 {
206 GNUNET_break_op (0);
207 return GNUNET_SYSERR;
208 }
202 GNUNET_CRYPTO_hash (pk, 209 GNUNET_CRYPTO_hash (pk,
203 GNUNET_IDENTITY_key_get_length (pk), 210 ksize,
204 key); 211 key);
205 return GNUNET_OK; 212 return GNUNET_OK;
206} 213}