From a720cb6e49478390b9a44f7226f87347c05afd77 Mon Sep 17 00:00:00 2001 From: plutoo Date: Mon, 15 Dec 2014 01:43:18 +0100 Subject: [PATCH] Reverting previous commit, fixing more resource leaks --- libctru/source/services/httpc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libctru/source/services/httpc.c b/libctru/source/services/httpc.c index 9d9ab38..a9f1eb9 100644 --- a/libctru/source/services/httpc.c +++ b/libctru/source/services/httpc.c @@ -36,10 +36,14 @@ Result httpcOpenContext(httpcContext *context, char* url, u32 use_defaultproxy) if(ret!=0)return ret; ret = srvGetServiceHandle(&context->servhandle, "http:C"); - if(ret!=0)return ret; + if(ret!=0) { + HTTPC_CloseContext(__httpc_servhandle, context->httphandle); + return ret; + } ret = HTTPC_InitializeConnectionSession(context->servhandle, context->httphandle); if(ret!=0) { + HTTPC_CloseContext(__httpc_servhandle, context->httphandle); svcCloseHandle(context->servhandle); return ret; } @@ -48,6 +52,7 @@ Result httpcOpenContext(httpcContext *context, char* url, u32 use_defaultproxy) ret = HTTPC_SetProxyDefault(context->servhandle, context->httphandle); if(ret!=0) { + HTTPC_CloseContext(__httpc_servhandle, context->httphandle); svcCloseHandle(context->servhandle); return ret; } @@ -59,7 +64,7 @@ Result httpcCloseContext(httpcContext *context) { Result ret=0; - ret = HTTPC_CloseContext(__httpc_servhandle, context->httphandle); + ret = HTTPC_CloseContext(context->servhandle, context->httphandle); svcCloseHandle(context->servhandle); return ret;