asn1c中的OBJECT_IDENTIFIER_set_arcs使应用程序崩溃

时间:2013-08-30 12:56:19

标签: c++ asn.1

我有以下代码:

LicMessage message;
int oid[] = { 1, 3, 6, 1, 4, 1, 9363, 1, 5, 0 };
int ret1 = OBJECT_IDENTIFIER_set_arcs(&message.getMsg()->lic_ModuleID, oid, sizeof(oid[0]), sizeof(oid) / sizeof(oid[0]));

LicMessage类:

LicMessage::LicMessage() : licMsg(new LIC_Msg_t)
{
}
LIC_Msg_t* const LicMessage::getMsg () const
{
    return licMsg.get();
}
std::auto_ptr<LIC_Msg_t> licMsg;

LIC_Msg_t由asn1c生成,具有OBJECT_IDENTIFIER_t lic_ModuleID;作为一个领域。

由于某种原因它失败 * glibc检测到 构建/测试//测试:free():无效指针:0x0000003ccab8e018 * * < / p>

你能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:0)

请求内存时丢失指针。您应该按malloc分配内存