]> source.dussan.org Git - rspamd.git/commitdiff
Do not accept zero sized maps.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 3 May 2015 09:18:17 +0000 (10:18 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 3 May 2015 09:18:17 +0000 (10:18 +0100)
src/libutil/map.c

index 5161871dc93e41d31fecd25fa31fa17232b5dcb9..20c7d0e4ce3b5314d8a7fefa3e0d62878b114b17 100644 (file)
@@ -193,7 +193,7 @@ http_map_read (struct rspamd_http_connection *conn,
        gchar *pos;
        struct rspamd_map *map;
 
-       if (msg->code != 200) {
+       if (msg->code != 200 || len == 0) {
                /* Ignore not full replies */
                return 0;
        }
@@ -269,8 +269,10 @@ read_map_file (struct rspamd_map *map, struct file_map_data *data)
 
        close (fd);
 
-       map->fin_callback (map->pool, &cbdata);
-       *map->user_data = cbdata.cur_data;
+       if (rlen > 0) {
+               map->fin_callback (map->pool, &cbdata);
+               *map->user_data = cbdata.cur_data;
+       }
 }
 
 static void