From 7d531412e240ef4a13541c6321602348b00dc6d3 Mon Sep 17 00:00:00 2001 From: Joerie de Gram Date: Fri, 28 Oct 2011 18:01:52 +0200 Subject: h1: add missing payload memcpy in h1_ipc_send --- samsung-ipc/device/h1/h1_ipc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/samsung-ipc/device/h1/h1_ipc.c b/samsung-ipc/device/h1/h1_ipc.c index 3b3ace9..601f67d 100644 --- a/samsung-ipc/device/h1/h1_ipc.c +++ b/samsung-ipc/device/h1/h1_ipc.c @@ -72,6 +72,7 @@ int h1_ipc_send(struct ipc_client *client, struct ipc_message_info *request) { struct hdlc_header *hdlc; unsigned char *frame; + unsigned char *payload; int frame_length; /* Frame length: HDLC/IPC header + payload length + HDLC flags (2) */ @@ -87,7 +88,7 @@ int h1_ipc_send(struct ipc_client *client, struct ipc_message_info *request) hdlc->length = (sizeof(*hdlc) + request->length); hdlc->unknown = 0; - /* IPC data */ + /* IPC header */ hdlc->ipc.length = (sizeof(hdlc->ipc) + request->length); hdlc->ipc.mseq = request->mseq; hdlc->ipc.aseq = request->aseq; @@ -95,6 +96,10 @@ int h1_ipc_send(struct ipc_client *client, struct ipc_message_info *request) hdlc->ipc.index = request->index; hdlc->ipc.type = request->type; + /* IPC payload */ + payload = (frame + 1 + sizeof(*hdlc)); + memcpy(payload, request->data, request->length); + ipc_client_log(client, "sending %s %s\n", ipc_command_type_to_str(IPC_COMMAND(request)), ipc_response_type_to_str(request->type)); -- cgit v1.1