本来拷贝字节数的参数类型是unsigned int,其实一般写成int型也可以,应该是函数默认强转吧?
看到这个帖子,当字节数是计算式时,确实可能出问题,当为负数时,可能会拷贝很大的字节数(最大2^31),或者,如果内核限制了最大拷贝字节数,则会报错。
C语言中数据类型不一致导致安全性漏洞-memcpy()的参数 int 与 unsigned_memcpy最后一个参数可以是负数吗?-CSDN博客
所以这种最好加上强制转换,即转换成unsigned int。
本来拷贝字节数的参数类型是unsigned int,其实一般写成int型也可以,应该是函数默认强转吧?
看到这个帖子,当字节数是计算式时,确实可能出问题,当为负数时,可能会拷贝很大的字节数(最大2^31),或者,如果内核限制了最大拷贝字节数,则会报错。
C语言中数据类型不一致导致安全性漏洞-memcpy()的参数 int 与 unsigned_memcpy最后一个参数可以是负数吗?-CSDN博客
所以这种最好加上强制转换,即转换成unsigned int。