summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick White <git@njw.me.uk>2011-11-30 18:50:24 +0000
committerNick White <git@njw.me.uk>2011-11-30 18:50:24 +0000
commit83adb758f73ebc6a6c09b7dee82e139317b7ad0a (patch)
tree8e5f0f95bc9df3ccc46d985991975bb68d1a72b5
parent3754eaa4326fad5daff9ea14d2dba518adaca2eb (diff)
Make http implementation more robust
-rw-r--r--TODO2
-rw-r--r--util.c2
2 files changed, 1 insertions, 3 deletions
diff --git a/TODO b/TODO
index cb862d5..b4bc96c 100644
--- a/TODO
+++ b/TODO
@@ -6,8 +6,6 @@ use the correct file extension depending on the image type (for google and amazo
bug in get() & post(): if the \r\n\r\n after http headers is cut off between recv buffers
-what happens if we receive not a http header? does recv loop forever, in a memory killing manner?
-
package for osx - https://github.com/kennethreitz/osx-gcc-installer
add djvu convert script
diff --git a/util.c b/util.c
index 207024a..b1f4c69 100644
--- a/util.c
+++ b/util.c
@@ -92,7 +92,7 @@ int get(char *host, char *path, char *sendcookie, char *savecookie, char **buf)
}
*buf = realloc(*buf, sizeof(char *) * (l+BUFSIZ));
- for(; (res = recv(fd, *buf+l, BUFSIZ, 0)) > 0; l+=res)
+ for(; buf != NULL && (res = recv(fd, *buf+l, BUFSIZ, 0)) > 0; l+=res)
*buf = realloc(*buf, sizeof(char *) * (l+BUFSIZ));
return l;