zir_msg->rd_count = htons (rd_count);
zir_msg->rd_len = htons (rd_ser_len);
zir_msg->signature = *signature;
- GNUNET_assert (NULL == zone_key);
+ GNUNET_assert (NULL != zone_key);
if (zone_key != NULL)
zir_msg->public_key = *zone_key;
memcpy (name_tmp, name, name_len);
/* deserialize records */
struct GNUNET_NAMESTORE_RecordData rd[rd_count];
- GNUNET_NAMESTORE_records_deserialize(rd_len, rd_tmp, rd_count, rd);
+ if (GNUNET_OK != GNUNET_NAMESTORE_records_deserialize(rd_len, rd_tmp, rd_count, rd))
+ {
+ GNUNET_break_op (0);
+ return;
+ }
+
/* reset values if values not contained */
if (contains_sig == GNUNET_NO)
rd_tmp = &name_tmp[name_len];
struct GNUNET_NAMESTORE_RecordData rd[rd_count];
- GNUNET_NAMESTORE_records_deserialize(rd_ser_len, rd_tmp, rd_count, rd);
+ if (GNUNET_OK != GNUNET_NAMESTORE_records_deserialize(rd_ser_len, rd_tmp, rd_count, rd))
+ {
+ GNUNET_break_op (0);
+ return;
+ }
if (qe->proc != NULL)
qe->proc (qe->proc_cls, &msg->zone_key, expire, name_tmp, rd_count, rd, &msg->signature);
struct GNUNET_CRYPTO_RsaSignature signature;
+ memset (&signature, '\0', sizeof (signature));
struct GNUNET_NAMESTORE_RecordData rd;
rd.expiration = GNUNET_TIME_absolute_get();
else
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Result found: `%s'\n", n);
- if (0 != strcmp(n, s_name))
+ if ((n == NULL) || (0 != strcmp(n, s_name)))
{
fail = GNUNET_YES;
GNUNET_break (0);
fail = GNUNET_YES;
GNUNET_break (0);
}
- if (0 != memcmp (zone_key, &pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded)))
+ if ((zone_key == NULL) || (0 != memcmp (zone_key, &pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded))))
{
fail = GNUNET_YES;
GNUNET_break (0);