summaryrefslogtreecommitdiff
path: root/libsoup/soup-cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'libsoup/soup-cache.c')
-rw-r--r--libsoup/soup-cache.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libsoup/soup-cache.c b/libsoup/soup-cache.c
index 5d480244..f03999c4 100644
--- a/libsoup/soup-cache.c
+++ b/libsoup/soup-cache.c
@@ -1356,7 +1356,7 @@ soup_cache_generate_conditional_request (SoupCache *cache, SoupMessage *original
SoupURI *uri;
SoupCacheEntry *entry;
const char *last_modified, *etag;
- GSList *f;
+ GList *disabled_features, *f;
g_return_val_if_fail (SOUP_IS_CACHE (cache), NULL);
g_return_val_if_fail (SOUP_IS_MESSAGE (original), NULL);
@@ -1383,8 +1383,10 @@ soup_cache_generate_conditional_request (SoupCache *cache, SoupMessage *original
(SoupMessageHeadersForeachFunc)copy_headers,
msg->request_headers);
- for (f = soup_message_get_disabled_features (original); f; f = f->next)
+ disabled_features = soup_message_get_disabled_features (original);
+ for (f = disabled_features; f; f = f->next)
soup_message_disable_feature (msg, (GType) GPOINTER_TO_SIZE (f->data));
+ g_list_free (disabled_features);
if (last_modified)
soup_message_headers_append (msg->request_headers,