Index: src/util.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/util.c,v retrieving revision 1.320 diff -u -p -r1.320 util.c --- src/util.c 21 Aug 2004 20:11:39 -0000 1.320 +++ src/util.c 22 Aug 2004 15:47:26 -0000 @@ -2616,8 +2619,8 @@ parse_content_len(const char *data, size * if we make sure that there is indeed a \n in our header. */ if (p && g_strstr_len(p, data_len - (p - data), "\n")) { - sscanf(p, "Content-Length: %ud", &content_len); - gaim_debug_misc("parse_content_len", "parsed %d\n", content_len); + sscanf(p, "Content-Length: %u", &content_len); + gaim_debug_misc("parse_content_len", "parsed %u\n", content_len); } return content_len; @@ -2741,7 +2744,13 @@ url_fetched_cb(gpointer url_data, gint s /* In with the new. */ gfud->data_len = content_len; - gfud->webdata = g_malloc(gfud->data_len); + if ((gfud->webdata = g_try_malloc(gfud->data_len)) == NULL) { + gaim_debug_error("gaim_url_fetch", "Failed to allocate %u bytes (%s)\n", gfud->data_len, strerror(errno)); + gaim_input_remove(gfud->inpa); + close(sock); + gfud->callback(gfud->user_data, NULL, 0); + destroy_fetch_url_data(gfud); + } } else gfud->newline = TRUE;