From: Vsevolod Stakhov Date: Sat, 13 Oct 2018 13:23:00 +0000 (+0100) Subject: [Minor] Allow to edit empty maps X-Git-Tag: 1.8.1~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=22e07e5504052efa91cf7425a1feb99f2335145f;p=thirdparty%2Frspamd.git [Minor] Allow to edit empty maps --- diff --git a/src/controller.c b/src/controller.c index 6cb5eaa623..88d1d0ed6f 100644 --- a/src/controller.c +++ b/src/controller.c @@ -1047,12 +1047,18 @@ rspamd_controller_handle_get_map (struct rspamd_http_connection_entry *conn_ent, reply->date = time (NULL); reply->code = 200; - if (!rspamd_http_message_set_body_from_fd (reply, fd)) { - close (fd); - rspamd_http_message_unref (reply); - msg_err_session ("cannot read map %s: %s", bk->uri, strerror (errno)); - rspamd_controller_send_error (conn_ent, 500, "Map read error"); - return 0; + if (st.st_size > 0) { + if (!rspamd_http_message_set_body_from_fd (reply, fd)) { + close (fd); + rspamd_http_message_unref (reply); + msg_err_session ("cannot read map %s: %s", bk->uri, strerror (errno)); + rspamd_controller_send_error (conn_ent, 500, "Map read error"); + return 0; + } + } + else { + rspamd_fstring_t *empty_body = rspamd_fstring_new_init ("", 0); + rspamd_http_message_set_body_from_fstring_steal (reply, empty_body); } close (fd);