aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/identity/identity_api.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/identity/identity_api.c b/src/identity/identity_api.c
index 242527c23..a277d8877 100644
--- a/src/identity/identity_api.c
+++ b/src/identity/identity_api.c
@@ -1015,13 +1015,13 @@ GNUNET_IDENTITY_read_key_from_buffer (struct GNUNET_IDENTITY_PublicKey *key,
1015{ 1015{
1016 if (len < sizeof (key->type)) 1016 if (len < sizeof (key->type))
1017 return -1; 1017 return -1;
1018 GNUNET_memcpy(& (key->type), buffer, sizeof (key->type)); 1018 GNUNET_memcpy(&(key->type), buffer, sizeof (key->type));
1019 const ssize_t length = GNUNET_IDENTITY_key_get_length(key); 1019 const ssize_t length = GNUNET_IDENTITY_key_get_length(key);
1020 if (len < length) 1020 if (len < length)
1021 return -1; 1021 return -1;
1022 if (length < 0) 1022 if (length < 0)
1023 return -2; 1023 return -2;
1024 GNUNET_memcpy(key, buffer, length); 1024 GNUNET_memcpy(&(key->ecdsa_key), buffer + sizeof (key->type), length - sizeof (key->type));
1025 return length; 1025 return length;
1026} 1026}
1027 1027
@@ -1036,7 +1036,8 @@ GNUNET_IDENTITY_write_key_to_buffer (const struct GNUNET_IDENTITY_PublicKey *key
1036 return -1; 1036 return -1;
1037 if (length < 0) 1037 if (length < 0)
1038 return -2; 1038 return -2;
1039 GNUNET_memcpy(buffer, key, length); 1039 GNUNET_memcpy(buffer, &(key->type), sizeof (key->type));
1040 GNUNET_memcpy(buffer + sizeof (key->type), &(key->ecdsa_key), length - sizeof (key->type));
1040 return length; 1041 return length;
1041} 1042}
1042 1043