diff options
author | Dan Winship <danw@gnome.org> | 2010-01-23 15:48:51 -0500 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2010-01-23 15:48:51 -0500 |
commit | e5491307570a3e4594968e9a307eaaf7dda5d7ab (patch) | |
tree | c53aff131fb1212f5803a2beb45ac2a952d7d88c /libsoup/soup-message-server-io.c | |
parent | 9a24f702cc5c9363a456b5288a1421b94d8d24bc (diff) | |
download | libsoup-e5491307570a3e4594968e9a307eaaf7dda5d7ab.tar.gz |
Fix leak in previous commit
Diffstat (limited to 'libsoup/soup-message-server-io.c')
-rw-r--r-- | libsoup/soup-message-server-io.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libsoup/soup-message-server-io.c b/libsoup/soup-message-server-io.c index a75dde72..bc8a1c1c 100644 --- a/libsoup/soup-message-server-io.c +++ b/libsoup/soup-message-server-io.c @@ -119,7 +119,8 @@ handle_partial_get (SoupMessage *msg) msg->status_code != SOUP_STATUS_OK || soup_message_headers_get_encoding (msg->response_headers) != SOUP_ENCODING_CONTENT_LENGTH || - msg->response_body->length == 0) + msg->response_body->length == 0 || + !soup_message_body_get_accumulate (msg->response_body)) return; /* Oh, and there has to have been a valid Range header on the @@ -130,11 +131,11 @@ handle_partial_get (SoupMessage *msg) &ranges, &nranges)) return; - if (!soup_message_body_get_accumulate (msg->response_body)) - return; full_response = soup_message_body_flatten (msg->response_body); - if (!full_response) + if (!full_response) { + soup_message_headers_free_ranges (msg->request_headers, ranges); return; + } soup_message_set_status (msg, SOUP_STATUS_PARTIAL_CONTENT); soup_message_body_truncate (msg->response_body); |