vpi/ipc: fix decoding of index buffer
authorSebastien Bourdeauducq <sb@m-labs.hk>
Tue, 4 Nov 2014 08:57:34 +0000 (16:57 +0800)
committerSebastien Bourdeauducq <sb@m-labs.hk>
Tue, 4 Nov 2014 08:57:34 +0000 (16:57 +0800)
vpi/ipc.c

index d41920c763fd31d766ef5ec434f1539c899a04b6..ee1920e5edfa03fec0c696bba17d20d1aabcedf6 100644 (file)
--- a/vpi/ipc.c
+++ b/vpi/ipc.c
@@ -76,7 +76,7 @@ enum {
  */
 int ipc_receive(struct ipc_softc *sc)
 {
-       char buffer[MAX_LEN];
+       unsigned char buffer[MAX_LEN];
        ssize_t l;
        int i;
        
@@ -97,7 +97,7 @@ int ipc_receive(struct ipc_softc *sc)
                        unsigned char *chunks;
                        unsigned int index;
                        
-                       name = &buffer[i];
+                       name = (char *)&buffer[i];
                        i += strlen(name) + 1;
                        assert((i+4) < l);
                        index = buffer[i] | buffer[i+1] << 8 | buffer[i+2] << 16 | buffer[i+3] << 24;
@@ -112,7 +112,7 @@ int ipc_receive(struct ipc_softc *sc)
                        char *name;
                        unsigned int index;
                        
-                       name = &buffer[i];
+                       name = (char *)&buffer[i];
                        i += strlen(name) + 1;
                        assert((i+4) == l);
                        index = buffer[i] | buffer[i+1] << 8 | buffer[i+2] << 16 | buffer[i+3] << 24;