[Spice-devel] [PATCH spice-server 08/10] sound: Avoid cast that could cause alignment problems

Frediano Ziglio fziglio at redhat.com
Mon Jan 22 17:55:00 UTC 2018


clang is reporting:

sound.c:292:16: error: cast from 'uint8_t *' (aka 'unsigned char *') to 'uint32_t *' (aka 'unsigned int *') increases required alignment from 1 to 4 [-Werror,-Wcast-align]
        data = (uint32_t *)packet->data;
               ^~~~~~~~~~~~~~~~~~~~~~~~

however we are using memcpy to access "data" pointer so there's no
need to use uint32_t pointer. Also considering we don't do math with
that pointer.

Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
 server/sound.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/server/sound.c b/server/sound.c
index 8ba2485c..e3891d2c 100644
--- a/server/sound.c
+++ b/server/sound.c
@@ -281,7 +281,7 @@ static bool snd_record_handle_write(RecordChannelClient *record_client, size_t s
 {
     SpiceMsgcRecordPacket *packet;
     uint32_t write_pos;
-    uint32_t* data;
+    uint8_t* data;
     uint32_t len;
     uint32_t now;
 
@@ -292,7 +292,7 @@ static bool snd_record_handle_write(RecordChannelClient *record_client, size_t s
     packet = (SpiceMsgcRecordPacket *)message;
 
     if (record_client->mode == SPICE_AUDIO_DATA_MODE_RAW) {
-        data = (uint32_t *)packet->data;
+        data = packet->data;
         size = packet->data_size >> 2;
         size = MIN(size, RECORD_SAMPLES_SIZE);
      } else {
@@ -301,7 +301,7 @@ static bool snd_record_handle_write(RecordChannelClient *record_client, size_t s
         if (snd_codec_decode(record_client->codec, packet->data, packet->data_size,
                     record_client->decode_buf, &decode_size) != SND_CODEC_OK)
             return false;
-        data = (uint32_t *) record_client->decode_buf;
+        data = record_client->decode_buf;
         size = decode_size >> 2;
     }
 
-- 
2.14.3



More information about the Spice-devel mailing list