我在这里用一个守护进程测试一个小问题(用linux编写)。我想知道所做的是否正确。
守护程序使用 dlopen 调用加载共享对象文件 (.so)。共享对象通过网络从客户端接收一些缓冲区。它使用以下调用来读取缓冲区:
read_buffer(something, length of buffer read, buffer contents);
read_buffer 函数使用 memcpy 将第二个参数中指定长度的缓冲区复制到另一个位置
在客户端,执行以下操作:
write_buffer(something, length of buffer, buffer contents);
问题是,如果我们发送一个无效的长度参数(与第三个参数中复制的实际长度不匹配),从客户端,在 memcpy 位置的服务器端存在段错误
我不确定如何输入验证传递给 memcpy 函数的参数
请您帮助我了解可能的解决方案