From: Adam Dickmeiss Date: Wed, 22 Aug 2012 08:28:51 +0000 (+0200) Subject: http_file: allow zero size files (bug fix) X-Git-Tag: v1.3.43~2 X-Git-Url: http://lists.indexdata.com/cgi-bin?a=commitdiff_plain;h=8cde75331b5886eba4304ab076409d1ebfbea4eb;p=metaproxy-moved-to-github.git http_file: allow zero size files (bug fix) --- diff --git a/src/filter_http_file.cpp b/src/filter_http_file.cpp index d036433..25ad1b9 100644 --- a/src/filter_http_file.cpp +++ b/src/filter_http_file.cpp @@ -158,15 +158,17 @@ void yf::HttpFile::Rep::fetch_file(mp::Session &session, Z_HTTP_Response *hres = gdu->u.HTTP_Response; hres->content_len = sz; - hres->content_buf = (char*) odr_malloc(o, hres->content_len); - if (fread(hres->content_buf, hres->content_len, 1, f) != 1) + if (hres->content_len > 0) { - fclose(f); - Z_GDU *gdu = o.create_HTTP_Response(session, req, 500); - package.response() = gdu; - return; + hres->content_buf = (char*) odr_malloc(o, hres->content_len); + if (fread(hres->content_buf, hres->content_len, 1, f) != 1) + { + fclose(f); + Z_GDU *gdu = o.create_HTTP_Response(session, req, 500); + package.response() = gdu; + return; + } } - fclose(f); std::string content_type = get_mime_type(fname);