NALDecoder中的一个bug

NALDecoder是在网上很容易搜到的一个h.264的NAL层的解码小程序。其中有如下一段代码:

		else if(n->len>1400)
		{
			//得到该nalu需要用多少长度为1400字节的RTP包来发送
			int k=0,l=0;
			k=n->len/1400;//需要k个1400字节的RTP包
			l=n->len%1400;//最后一个RTP包的需要装载的字节数

上面最后一行中当n->len被1400整除时l为0。在后续的代码中用到了l:

					memcpy(nalu_payload,n->buf+t*1400+1,l-1);//将nalu最后剩余的l-1(去掉了一个字节的NALU头)字节内容写入sendbuf[14]开始的字符串。

此时l-1为-1,memcpy把它用作0xFFFFFFFF,执行后出现异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值