diff --git a/libctru/source/services/httpc.c b/libctru/source/services/httpc.c index e299b8d..a9095c3 100644 --- a/libctru/source/services/httpc.c +++ b/libctru/source/services/httpc.c @@ -39,12 +39,18 @@ Result httpcOpenContext(httpcContext *context, char* url, u32 use_defaultproxy) if(ret!=0)return ret; ret = HTTPC_InitializeConnectionSession(context->servhandle, context->httphandle); - if(ret!=0)return ret; + if(ret!=0) { + svcCloseHandle(context->servhandle); + return ret; + } if(use_defaultproxy==0)return 0; ret = HTTPC_SetProxyDefault(context->servhandle, context->httphandle); - if(ret!=0)return ret; + if(ret!=0) { + svcCloseHandle(context->servhandle); + return ret; + } return 0; } @@ -54,7 +60,6 @@ Result httpcCloseContext(httpcContext *context) Result ret=0; ret = HTTPC_CloseContext(context->servhandle, context->httphandle); - svcCloseHandle(context->servhandle); return ret;