X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=client_common.c;h=934758dd8f8e5ed03ff2493fe18e0cd533fde977;hp=2a93d488ed1141fcbac9be8265491002f3fc9455;hb=93722fe7cdfe7cdebd27a36a6f6dc0054468ec8c;hpb=fc100a582159c001bd5eb2244f314343309bb503 diff --git a/client_common.c b/client_common.c index 2a93d488..934758dd 100644 --- a/client_common.c +++ b/client_common.c @@ -178,7 +178,7 @@ static void client_post_select(struct sched *s, struct task *t) ret = client_recv_buffer(ct, buf, sizeof(buf)); if (ret < 0) goto err; - PARA_INFO_LOG("<-- [challenge] (%zu bytes)\n", ret); + PARA_INFO_LOG("<-- [challenge] (%d bytes)\n", ret); ret = para_decrypt_buffer(ct->key_file, crypt_buf, (unsigned char *)buf, ret); if (ret < 0) @@ -278,7 +278,6 @@ static void client_post_select(struct sched *s, struct task *t) case CL_RECEIVING: { char *buf2; - buf2 = para_malloc(CLIENT_BUFSIZE); ret = btr_node_status(btrn, 0, BTR_NT_ROOT); if (ret < 0) goto err; @@ -286,6 +285,7 @@ static void client_post_select(struct sched *s, struct task *t) return; if (!FD_ISSET(ct->rc4c.fd, &s->rfds)) return; + buf2 = para_malloc(CLIENT_BUFSIZE); ret = client_recv_buffer(ct, buf2, CLIENT_BUFSIZE); if (ret < 0) { free(buf2); @@ -404,6 +404,7 @@ out: free(home); if (ret < 0) { PARA_ERROR_LOG("%s\n", para_strerror(-ret)); + btr_remove_node(ct->btrn); btr_free_node(ct->btrn); client_close(ct); *ct_ptr = NULL;