From 7751755b6fe2938baf75a8a3a0521008a0d3c17b Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Wed, 25 Mar 2009 17:46:50 +0300 Subject: [PATCH] * Fix using of local variable --- src/message.c | 4 +++- src/worker.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/message.c b/src/message.c index 6d770bbe8d..d1834c9688 100644 --- a/src/message.c +++ b/src/message.c @@ -211,8 +211,10 @@ reg_char: } break; } - c = *(++p); i++; + if (i < src->len) { + c = *(++p); + } } if (rp < buf->data + src->len) { *rp = '\0'; diff --git a/src/worker.c b/src/worker.c index 1ec5a64dda..cf716ee0dd 100644 --- a/src/worker.c +++ b/src/worker.c @@ -143,7 +143,9 @@ read_socket (f_str_t *in, void *arg) } break; case READ_MESSAGE: - task->msg = in; + task->msg = memory_pool_alloc (task->task_pool, sizeof (f_str_t)); + task->msg->begin = in->begin; + task->msg->len = in->len; msg_debug ("read_socket: got string of length %ld", (long int)task->msg->len); r = process_message (task); if (r == -1) { -- 2.47.3