-
According to the the paper Listing 1,
I would like to investigate why this happened. So I read the source code of |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
The sinks are defined by means of the One of two things is potentially going on: (1) the code studied in the paper concatenates strings in a different way than expected by the query, or (2) the dataflow library used by the query misses the relevant path from the source to the sink. It's likely (1), because the concatenation is done directly by |
Beta Was this translation helpful? Give feedback.
The sinks are defined by means of the
shellCommand
predicate, which can be found here. If you look closely at that predicate you'll see it has a case forArrayExecFunctionCall
here, which includes_execvp
. So, the part of the paper you quote is actually incorrect.One of two things is potentially going on: (1) the code studied in the paper concatenates strings in a different way than expected by the query, or (2) the dataflow library used by the query misses the relevant path from the source to the sink. It's likely (1), because the concatenation is done directly by
recv
in the example.