diff --git a/channels/chan_unistim.c b/channels/chan_unistim.c index 4e3f8081f549337fd92371d4859d294eac253c60..1753365e9c9dd8caf7a6b40e41f70c45369c1fb8 100644 --- a/channels/chan_unistim.c +++ b/channels/chan_unistim.c @@ -802,7 +802,7 @@ static void send_client(int size, const unsigned char *data, struct unistimsessi { unsigned int tick; int buf_pos; - unsigned short *sdata = (unsigned short *) data; + unsigned short seq = ntohs(++pte->seq_server); ast_mutex_lock(&pte->lock); buf_pos = pte->last_buf_available; @@ -812,7 +812,7 @@ static void send_client(int size, const unsigned char *data, struct unistimsessi ast_mutex_unlock(&pte->lock); return; } - sdata[1] = ntohs(++(pte->seq_server)); + memcpy((void *)data + sizeof(unsigned short), (void *)&seq, sizeof(unsigned short)); pte->wsabufsend[buf_pos].len = size; memcpy(pte->wsabufsend[buf_pos].buf, data, size);