asn1c中的OBJECT_IDENTIFIER_set_arcs导致应用程序崩溃

OBJECT_IDENTIFIER_set_arcs in asn1c makes app crash

本文关键字:应用程序 崩溃 arcs set 中的 OBJECT IDENTIFIER asn1c      更新时间:2023-10-16

我有以下代码:

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检测到build/tests//tests:free():无效指针:0x0000003ccab8e018**

你能告诉我我做错了什么吗?

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