[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r37480 - gnunet/src/namestore
From: |
gnunet |
Subject: |
[GNUnet-SVN] r37480 - gnunet/src/namestore |
Date: |
Thu, 7 Jul 2016 14:26:24 +0200 |
Author: schanzen
Date: 2016-07-07 14:26:24 +0200 (Thu, 07 Jul 2016)
New Revision: 37480
Modified:
gnunet/src/namestore/plugin_namestore_flat.c
Log:
-coverity
Modified: gnunet/src/namestore/plugin_namestore_flat.c
===================================================================
--- gnunet/src/namestore/plugin_namestore_flat.c 2016-07-07 12:18:35 UTC
(rev 37479)
+++ gnunet/src/namestore/plugin_namestore_flat.c 2016-07-07 12:26:24 UTC
(rev 37480)
@@ -225,8 +225,20 @@
break;
line = strtok (NULL, "\n");
entry = GNUNET_malloc (sizeof (struct FlatFileEntry));
- sscanf (rvalue, "%lu", &entry->rvalue);
- sscanf (record_count, "%u", &entry->record_count);
+ if (1 != sscanf (rvalue, "%lu", &entry->rvalue))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Error parsing entry\n");
+ GNUNET_free (entry);
+ break;
+ }
+ if (1 != sscanf (record_count, "%u", &entry->record_count))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Error parsing entry\n");
+ GNUNET_free (entry);
+ break;
+ }
entry->label = GNUNET_strdup (label);
record_data_size = GNUNET_STRINGS_base64_decode (record_data_b64,
strlen
(record_data_b64),
@@ -233,10 +245,18 @@
&record_data);
entry->record_data =
GNUNET_malloc (sizeof (struct GNUNET_GNSRECORD_Data) *
entry->record_count);
- GNUNET_GNSRECORD_records_deserialize (record_data_size,
- record_data,
- entry->record_count,
- entry->record_data);
+ if (GNUNET_OK != GNUNET_GNSRECORD_records_deserialize (record_data_size,
+ record_data,
+
entry->record_count,
+
entry->record_data))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Unable to deserialize record %s\n", label);
+ GNUNET_free (entry->label);
+ GNUNET_free (entry);
+ GNUNET_free (record_data);
+ break;
+ }
GNUNET_free (record_data);
GNUNET_STRINGS_base64_decode (zone_private_key,
strlen (zone_private_key),
@@ -291,7 +311,7 @@
&zone_private_key);
GNUNET_asprintf (&rvalue, "%lu", entry->rvalue);
GNUNET_asprintf (&record_count, "%u", entry->record_count);
-
+
data_size = GNUNET_GNSRECORD_records_get_size (entry->record_count,
entry->record_data);
char data[data_size];
@@ -301,6 +321,9 @@
data))
{
GNUNET_break (0);
+ GNUNET_free (zone_private_key);
+ GNUNET_free (rvalue);
+ GNUNET_free (record_count);
return GNUNET_SYSERR;
}
GNUNET_STRINGS_base64_encode (data,
@@ -468,7 +491,7 @@
key_len,
&hkey);
GNUNET_free (key);
-
+
entry = GNUNET_CONTAINER_multihashmap_get (plugin->hm, &hkey);
if (NULL == entry)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r37480 - gnunet/src/namestore,
gnunet <=