From 52d56d15e43494d44a7b8f4a72f296650fb86acc Mon Sep 17 00:00:00 2001 From: Takeshi Nakatani Date: Mon, 3 Mar 2014 16:19:08 +0000 Subject: [PATCH] Fixed a bug(googlecode issue 405), enable_content_md5 Input/output error --- src/curl.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/curl.cpp b/src/curl.cpp index 0a6ac59..fd2add3 100644 --- a/src/curl.cpp +++ b/src/curl.cpp @@ -3426,6 +3426,14 @@ unsigned char* md5hexsum(int fd, off_t start, ssize_t size) ssize_t bytes; unsigned char* result; + if(-1 == size){ + struct stat st; + if(-1 == fstat(fd, &st)){ + return NULL; + } + size = static_cast(st.st_size); + } + // seek to top of file. if(-1 == lseek(fd, start, SEEK_SET)){ return NULL; @@ -3457,7 +3465,6 @@ unsigned char* md5hexsum(int fd, off_t start, ssize_t size) free(result); return NULL; } - return result; }