From 83cc70ff18209116bd486b4932f206dd5a3fd83f Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 1 Jul 2010 16:40:28 +0400 Subject: [PATCH] * Fix stupid bug in calculating buffer length while reading file maps --- src/map.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/map.c b/src/map.c index d6e57715a..b864c6a42 100644 --- a/src/map.c +++ b/src/map.c @@ -386,8 +386,9 @@ read_map_file (struct rspamd_map *map, struct file_map_data *data) rlen = 0; while ((r = read (fd, buf + rlen, sizeof (buf) - rlen - 1)) > 0) { - buf[r++] = '\0'; - remain = map->read_callback (map->pool, buf, r - 1, &cbdata); + r += rlen; + buf[r] = '\0'; + remain = map->read_callback (map->pool, buf, r, &cbdata); if (remain != NULL) { /* copy remaining buffer to start of buffer */ rlen = r - (remain - buf); -- 2.39.5