http-client icon indicating copy to clipboard operation
http-client copied to clipboard

HTTP重定向访问时代码BUG导致释放内存被访问异常奔溃

Open Freelifeww opened this issue 1 year ago • 0 comments

问题点,http_interceptor.c,266行: 参数1:interceptor->connect_params,重定向为新的URL数据 参数2:http_get_connect_params_url(interceptor->connect_params,重定向为新的URL数据同一个地址 http_url_parsing(interceptor->connect_params, http_get_connect_params_url(interceptor->connect_params)); 解决办法: 新的的URL数据重新申请内存保存数据作为参数2传入完成URL的重新解析 const char *p_new_url = NULL; int malloc_len = strlen(http_get_connect_params_url(interceptor->connect_params))+1; p_new_url =(const char *)platform_memory_alloc(http_get_connect_params_url(malloc_len); if(!p_new_url ) { return; } memset(p_new_url,0,); memcpy(p_new_url,http_get_connect_params_url(interceptor->connect_params),strlen(http_get_connect_params_url(interceptor->connect_params)); ret = http_url_parsing(interceptor->connect_params, p_new_url); //这里原来的地址重新申请的时候以及被释放了,所以这里需要拷贝一个新的地址处理 platform_memory_free(p_new_url);

Freelifeww avatar Feb 06 '23 04:02 Freelifeww