uci出现uci show: Parse error (config without name) at line 1, byte 0

在将uci移植到嵌入式设备时遇到'uci show network'显示'config without name'错误。通过分析源码,发现在uci_increase_pos函数中存在检查缓冲区大小的问题,该问题由Check buffer size after strtok() patch引入。解决方案是移除特定的patch文件,从而解决了错误。
摘要由CSDN通过智能技术生成

uci移植到嵌入式设备

uci show network出现如下错误

uci show: Parse error (config without name) at line 1, byte 0

问题分析

检查network配置文件格式没有问题,最后查看uci源码,发现如下代码导致

   if (uci_increase_pos(pctx, strlen(pctx_cur_str(pctx)) + 1))
        uci_parse_error(ctx, "config without name");

uci_increase_pos函数

static int uci_increase_pos(struct uci_parse_context *pctx, size_t add)
{
    if (pctx->pos + add > pctx->buf_filled)
        return -EINVAL;

    pctx->pos += add;
    return 0;
}

查看这段代码,发现是Check buffer size after strtok() patch合入

解决方案

移除uci-v2-2-4-file-Check-buffer-size-after-strtok.diffpatch,问题得

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wellnw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值