zj1406205480 2015-05-11 09:24
浏览 1665

linux下free(): invalid next size (fast)的问题

简单来说就是把mac地址转换成00:00:00:00:00:00这种形式,被调函数在for循环i=1时还很正常,i=2的时候执行到macValue += buffer这句话就挂了,报错 free(): invalid next size (fast),实在是找不到原因了,谷歌说内存泄露,可是我实在不知道string这里怎么泄露啊,求各位帮忙看看啊 不胜感激!(另外,我用小程序测试过这段代码完成没问题啊,可是放到大程序里面就不行了,嘤嘤嘤)
主调函数部分
rule.fieldValue[DL_SRC] = ::getMacValueAsString(ofm->match.dl_src);
被调用函数:
string getMacValueAsString(const uint8_t* macAddress)
{
string macValue ;
char buffer[8];

for(int i = 0; i < OFP_ETH_ALEN; i++)
{
    uint8_t upperNibble = macAddress[i] >> 4;
    uint8_t lowerNibble = macAddress[i] & (uint8_t)0xF;

    sprintf(buffer, "%x%x", upperNibble, lowerNibble);
    macValue += buffer;
    cout<<"macValue:"<<macValue<<endl;
    if(i != (OFP_ETH_ALEN - 1))
    {
            macValue+=':';
    }
}

return macValue;

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
    • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
    • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
    • ¥30 3天&7天&&15天&销量如何统计同一行
    • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
    • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
    • ¥15 vs2019中数据导出问题
    • ¥20 云服务Linux系统TCP-MSS值修改?
    • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
    • ¥20 怎么在stm32门禁成品上增加查询记录功能