From: Alexandre Oliva Date: Mon, 10 Mar 2014 04:31:15 +0000 (-0300) Subject: unsign char in message parsing X-Git-Tag: v2014.1~10 X-Git-Url: http://git.cascardo.info/?p=cascardo%2Flibreceita.git;a=commitdiff_plain;h=27ee677e7f33ec652038c18e3f1e6e3fca6c5cde unsign char in message parsing Cast to unsigned any chars read from the buffer while computing lengths during rnet message parsing. Remove unused variable while at that. --- diff --git a/rnet_message.c b/rnet_message.c index f47d78c..83a762b 100644 --- a/rnet_message.c +++ b/rnet_message.c @@ -151,11 +151,10 @@ int rnet_message_parse(struct rnet_message *msg, char *skey, int b; char *key; int klen; - char *kcopy; /* skip first byte */ i++; while (i < len) { - j = buffer[i]; + j = (unsigned char)buffer[i]; 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; - j = buffer[i]; + j = (unsigned char)buffer[i]; i++; if (b) - j = j << 8 | buffer[i++]; + j = j << 8 | (unsigned char)buffer[i++]; *value = buffer + i; *vlen = j; i += j;