]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 339830 via svnmerge from
authorIgor Goncharovskiy <igor.goncharovsky@gmail.com>
Sat, 8 Oct 2011 15:01:35 +0000 (15:01 +0000)
committerIgor Goncharovskiy <igor.goncharovsky@gmail.com>
Sat, 8 Oct 2011 15:01:35 +0000 (15:01 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r339830 | igorg | 2011-10-08 21:56:35 +0700 (Сбт, 08 Окт 2011) | 8 lines

  Fix char array cast as short array in send_client() function (for ARM
  platform)

  (closes issue ASTERISK-17314)
  Reported by: jjoshua
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@339831 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_unistim.c

index 4e3f8081f549337fd92371d4859d294eac253c60..1753365e9c9dd8caf7a6b40e41f70c45369c1fb8 100644 (file)
@@ -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);