From 8cde75331b5886eba4304ab076409d1ebfbea4eb Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Wed, 22 Aug 2012 10:28:51 +0200 Subject: [PATCH] http_file: allow zero size files (bug fix) --- src/filter_http_file.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) 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); -- 1.7.10.4