diff --git a/src/core/ddsi/src/ddsi_serdata_default.c b/src/core/ddsi/src/ddsi_serdata_default.c index 5704241..23c0971 100644 --- a/src/core/ddsi/src/ddsi_serdata_default.c +++ b/src/core/ddsi/src/ddsi_serdata_default.c @@ -370,7 +370,7 @@ static struct ddsi_serdata *serdata_default_from_sample_plist (const struct ddsi case PID_GROUP_GUID: d->keyhash.m_set = 1; d->keyhash.m_iskey = 1; - memcpy (&d->keyhash.m_hash, rawkey, 16); + memcpy (d->keyhash.m_hash, rawkey, 16); #ifndef NDEBUG keysize = 16; #endif @@ -383,13 +383,14 @@ static struct ddsi_serdata *serdata_default_from_sample_plist (const struct ddsi md5_state_t md5st; md5_byte_t digest[16]; topic_name_sz = (uint32_t) strlen (topic_name) + 1; + topic_name_sz_BE = toBE4u (topic_name_sz); d->keyhash.m_set = 1; d->keyhash.m_iskey = 0; md5_init (&md5st); md5_append (&md5st, (const md5_byte_t *) &topic_name_sz_BE, sizeof (topic_name_sz_BE)); md5_append (&md5st, (const md5_byte_t *) topic_name, topic_name_sz); md5_finish (&md5st, digest); - memcpy (&d->keyhash.m_hash, digest, 16); + memcpy (d->keyhash.m_hash, digest, 16); #ifndef NDEBUG keysize = sizeof (uint32_t) + topic_name_sz; #endif