OSDN Git Service

android/a2dp: Fix IPC response length calculation
authorAndrzej Kaczmarek <andrzej.kaczmarek@tieto.com>
Tue, 14 Jan 2014 16:16:18 +0000 (17:16 +0100)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Wed, 15 Jan 2014 09:10:13 +0000 (11:10 +0200)
struct audio_rsp_open_stream has only zero-length array member thus its
size equals to 0. We need to explicitly specify size of array element
type here.

android/a2dp.c

index 9f3164a..145cd67 100644 (file)
@@ -1088,8 +1088,8 @@ static void bt_stream_open(const void *buf, uint16_t len)
                return;
        }
 
-       len = sizeof(*rsp) + setup->preset->len;
-       rsp = g_malloc0(sizeof(*rsp) + setup->preset->len);
+       len = sizeof(struct audio_preset) + setup->preset->len;
+       rsp = g_malloc0(len);
        rsp->preset->len = setup->preset->len;
        memcpy(rsp->preset->data, setup->preset->data, setup->preset->len);