X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fsecretsharing%2Fsecretsharing_common.c;h=c1e5acb9c176afdac2e14434b96b2fe58115d925;hb=8a2d1e6aedbf1bc95052e63ac67093b89385b0a1;hp=9f21a1102a74676c62f0458523812b1842564793;hpb=29517cf1e5cb2e2a92c97f458ba4d3fe6716b1ee;p=oweals%2Fgnunet.git diff --git a/src/secretsharing/secretsharing_common.c b/src/secretsharing/secretsharing_common.c index 9f21a1102..c1e5acb9c 100644 --- a/src/secretsharing/secretsharing_common.c +++ b/src/secretsharing/secretsharing_common.c @@ -62,8 +62,8 @@ GNUNET_SECRETSHARING_share_read (const void *data, size_t len, size_t *readlen) p += n; n = share->num_peers * sizeof (struct GNUNET_SECRETSHARING_FieldElement); - share->hom_share_commitments = GNUNET_malloc (n); - memcpy (share->hom_share_commitments, p, n); + share->sigmas = GNUNET_malloc (n); + memcpy (share->sigmas, p, n); p += n; n = share->num_peers * sizeof (uint16_t); @@ -94,7 +94,7 @@ GNUNET_SECRETSHARING_share_write (const struct GNUNET_SECRETSHARING_Share *share char *p; int n; - payload_size = ntohs (share->num_peers) * + payload_size = share->num_peers * (sizeof (uint16_t) + sizeof (struct GNUNET_SECRETSHARING_FieldElement) + sizeof (struct GNUNET_PeerIdentity)); @@ -125,7 +125,7 @@ GNUNET_SECRETSHARING_share_write (const struct GNUNET_SECRETSHARING_Share *share p += n; n = share->num_peers * sizeof (struct GNUNET_SECRETSHARING_FieldElement); - memcpy (p, share->hom_share_commitments, n); + memcpy (p, share->sigmas, n); p += n; n = share->num_peers * sizeof (uint16_t); @@ -135,3 +135,16 @@ GNUNET_SECRETSHARING_share_write (const struct GNUNET_SECRETSHARING_Share *share } +void +GNUNET_SECRETSHARING_share_destroy (struct GNUNET_SECRETSHARING_Share *share) +{ + GNUNET_free (share->original_indices); + share->original_indices = NULL; + GNUNET_free (share->sigmas); + share->sigmas = NULL; + GNUNET_free (share->peers); + share->peers = NULL; + GNUNET_free (share); +} + +