<div dir="ltr"><div dir="ltr">Hi, I was exploring the ArrayboundChecker and
TaintPropagation. I tried to make the return value of read() system call
a taint source. I have seen that you already defined it in the
GenericTaintChecker.cpp. And I found that the checker will not raise an
error for the following code even I replace .Case("read",
TaintPropagationRule({0, 2}, {1, ReturnValueIndex})) with .Case("read",
TaintPropagationRule({}, {ReturnValueIndex})):<br><br>char buf[20];<br>int ret = read(0, buf, 3);<br>buf[ret] = 0; // expect to get warning: index is tainted<br><br>I
think it is because the tool makes the assumption that the return is
less than or equal to 3 after read() syscall somewhere. But I have a
hard time to locate the code which handle this specific case. Could you
give me some suggestion about which files should I look into in order
to turn off the assumption on read() return values? <br></div><div dir="ltr"><br></div><div dir="ltr">Thank you!<br>Regards,<br>Gavin</div></div>