unsign char in message parsing
authorAlexandre Oliva <lxoliva@fsfla.org>
Mon, 10 Mar 2014 04:31:15 +0000 (01:31 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.info>
Mon, 10 Mar 2014 11:33:32 +0000 (08:33 -0300)
Cast to unsigned any chars read from the buffer while computing lengths
during rnet message parsing.

Remove unused variable while at that.

rnet_message.c

index f47d78c..83a762b 100644 (file)
@@ -151,11 +151,10 @@ int rnet_message_parse(struct rnet_message *msg, char *skey,
        int b;
        char *key;
        int klen;
        int b;
        char *key;
        int klen;
-       char *kcopy;
        /* skip first byte */
        i++;
        while (i < len) {
        /* skip first byte */
        i++;
        while (i < len) {
-               j = buffer[i];
+               j = (unsigned char)buffer[i];
                b = j & 0x80;
                if (b)
                        ;
                b = j & 0x80;
                if (b)
                        ;
@@ -164,10 +163,10 @@ int rnet_message_parse(struct rnet_message *msg, char *skey,
                key = buffer + i;
                klen = j;
                i += j;
                key = buffer + i;
                klen = j;
                i += j;
-               j = buffer[i];
+               j = (unsigned char)buffer[i];
                i++;
                if (b)
                i++;
                if (b)
-                       j = j << 8 | buffer[i++];
+                       j = j << 8 | (unsigned char)buffer[i++];
                *value = buffer + i;
                *vlen = j;
                i += j;
                *value = buffer + i;
                *vlen = j;
                i += j;