我刚刚完成了与libcurl的斗争,最后当编译得非常好时,发送电子邮件时出错了。我从示例中复制了代码,然后更改为我的服务器端口/登录名/密码。
这是错误截图:
HTTP:!//wstaw.org/m/2011/08/22/error.png
这是我正在使用的代码:http://pastebin.com/3BTA1fUW
编辑:CODE + CALLSTACK:http://pastebin.com/DijJnYH0
答案 0 :(得分:0)
您的payload_source
功能忽略了传入的size
和nmemb
参数。
curl准备一个小缓冲区供您写入数据 - 此缓冲区的大小由size * nmemb
给出。您不能插入超过size * nmemb
个字节的内容;你必须等待下一个电话。因此,如果strlen(data)
的结果超过size * nmemb
,则会写入太多数据并破坏堆。这可能会导致您显示的崩溃。
如果修复此问题无法解决您的问题,请提供其余代码以及堆栈跟踪的副本。