我有这段代码
struct curl_slist *pCURL_List = NULL;
pCURL_List = curl_slist_append(pCURL_List, "Content-type: application/x-amf");
curl_easy_setopt(m_pCURL, CURLOPT_HTTPHEADER, pCURL_List);
curl_easy_perform(m_pCURL);
并且在curl_easy_perform(m_pCURL);
之后我需要重置标头(代码的第一部分)。如果我执行curl_slist_free_all(pCURL_List);
,则下一个curl_easy_perform(m_pCURL);
会崩溃该程序。
我确定有其他参数,程序非常大,一切都在这些行之后的EXCEPT调用。
另外,当我说我需要重置标题时,我的意思是我想要curl来重新设置Content-type的旧默认值。如果我做
pCURL_List = curl_slist_append(pCURL_List, "Content-type:");
afaik它将删除“Content-type”标题。
答案 0 :(得分:1)
对于崩溃,您是否在第二次调用curl_easy_perform之前将CURLOPT_HTTPHEADER设置为null?我认为列表本身已被释放,但CURL句柄仍然有一个指向现在无效内存的指针。