buffer: avoid alignment problems

Use memcpy do avoid alignment problems.
This commit is contained in:
Ognyan Tonchev 2016-03-09 10:48:32 +01:00 committed by Wim Taymans
parent 068032e1dd
commit b3d07070f5

View file

@ -527,7 +527,7 @@ pinos_buffer_iter_parse_header (PinosBufferIter *iter,
if (si->size < sizeof (PinosPacketHeader)) if (si->size < sizeof (PinosPacketHeader))
return FALSE; return FALSE;
*header = *((PinosPacketHeader *) si->data); memcpy (header, si->data, sizeof (*header));
return TRUE; return TRUE;
} }
@ -551,7 +551,7 @@ pinos_buffer_builder_add_header (PinosBufferBuilder *builder,
g_return_val_if_fail (is_valid_builder (builder), FALSE); g_return_val_if_fail (is_valid_builder (builder), FALSE);
h = builder_add_packet (sb, PINOS_PACKET_TYPE_HEADER, sizeof (PinosPacketHeader)); h = builder_add_packet (sb, PINOS_PACKET_TYPE_HEADER, sizeof (PinosPacketHeader));
*h = *header; memcpy (h, header, sizeof (*header));
return TRUE; return TRUE;
} }
@ -579,7 +579,7 @@ pinos_buffer_iter_parse_fd_payload (PinosBufferIter *iter,
if (si->size < sizeof (PinosPacketFDPayload)) if (si->size < sizeof (PinosPacketFDPayload))
return FALSE; return FALSE;
*payload = *((PinosPacketFDPayload *) si->data); memcpy (payload, si->data, sizeof (*payload));
return TRUE; return TRUE;
} }
@ -604,7 +604,7 @@ pinos_buffer_builder_add_fd_payload (PinosBufferBuilder *builder,
g_return_val_if_fail (payload->size > 0, FALSE); g_return_val_if_fail (payload->size > 0, FALSE);
p = builder_add_packet (sb, PINOS_PACKET_TYPE_FD_PAYLOAD, sizeof (PinosPacketFDPayload)); p = builder_add_packet (sb, PINOS_PACKET_TYPE_FD_PAYLOAD, sizeof (PinosPacketFDPayload));
*p = *payload; memcpy (p, payload, sizeof (*payload));
return TRUE; return TRUE;
} }
@ -621,7 +621,7 @@ pinos_buffer_iter_parse_release_fd_payload (PinosBufferIter *iter,
if (si->size < sizeof (PinosPacketReleaseFDPayload)) if (si->size < sizeof (PinosPacketReleaseFDPayload))
return FALSE; return FALSE;
*payload = *((PinosPacketReleaseFDPayload *) si->data); memcpy (payload, si->data, sizeof (*payload));
return TRUE; return TRUE;
} }
@ -638,7 +638,7 @@ pinos_buffer_builder_add_release_fd_payload (PinosBufferBuilder *builder,
p = builder_add_packet (sb, p = builder_add_packet (sb,
PINOS_PACKET_TYPE_RELEASE_FD_PAYLOAD, PINOS_PACKET_TYPE_RELEASE_FD_PAYLOAD,
sizeof (PinosPacketReleaseFDPayload)); sizeof (PinosPacketReleaseFDPayload));
*p = *payload; memcpy (p, payload, sizeof (*payload));
return TRUE; return TRUE;
} }