Fix meta data segfault when receiving a partial command.
authorGuus Sliepen <guus@tinc-vpn.org>
Fri, 19 Oct 2007 19:07:30 +0000 (19:07 +0000)
committerGuus Sliepen <guus@tinc-vpn.org>
Fri, 19 Oct 2007 19:07:30 +0000 (19:07 +0000)
src/meta.c

index 2791ea1..141a1a1 100644 (file)
@@ -106,9 +106,9 @@ bool receive_meta(connection_t *c) {
                        bufp = endp;
                } else {
                        size_t outlen = inlen;
-                       evbuffer_expand(c->buffer->input, inlen);
+                       evbuffer_expand(c->buffer->input, c->buffer->input->off + inlen);
 
-                       if(!cipher_decrypt(&c->incipher, bufp, inlen, c->buffer->input->buffer, &outlen, false) || inlen != outlen) {
+                       if(!cipher_decrypt(&c->incipher, bufp, inlen, c->buffer->input->buffer + c->buffer->input->off, &outlen, false) || inlen != outlen) {
                                logger(LOG_ERR, _("Error while decrypting metadata from %s (%s)"), c->name, c->hostname);
                                return false;
                        }