<div dir="auto">Yep, i totally meant my example to be, well, an example :^)</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 2 Sep 2020, 10:09 Gábor Márton, <<a href="mailto:martongabesz@gmail.com">martongabesz@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">> ProgramStateRef markTainted(ProgramStateRef State, SVal S)<br><div><br></div><div>We already have a bunch of `addTaint()` overloaded functions in Taint.h to propagate the `TaintMap` in GDM. And `isTainted` is the counterpart to read that.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 2, 2020 at 10:02 AM Kristóf Umann <<a href="mailto:dkszelethus@gmail.com" target="_blank" rel="noreferrer">dkszelethus@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">The taint propagation toolset GenericTaintChecker wants to make available to other checkers is just a collection of helper functions/data structures. For instance, it would make sense if StreamChecker could mark user inout from fgets() as tainted. Later, when the analyzer would find a read of that value, GenericTaintChecker could check whether it is a taintes symbol.<div dir="auto"><br></div><div dir="auto">The key thing to note here is that these checkers would still work independently (StreamChecker wouldnt make GenericTaintChecker run), but do share knowledge with the use of the GDM.</div><div dir="auto"><br></div><div dir="auto">Here is what you want to do: create a header file that contains functions like this:</div><div dir="auto"><br></div><div dir="auto">ProgramStateRef markTainted(ProgramStateRef State, SVal S) {</div><div dir="auto">  // definition should be in the checker file</div><div dir="auto">  return State->add<TaintedSymbols>(S);</div><div dir="auto">}</div><div dir="auto"><br></div><div dir="auto">Or something similar, I just wrotr this code to demonstrate what I wanted to say, didnt check whether this is how it works on the inside :)</div><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Wed, 2 Sep 2020, 09:23 Thien Tran via cfe-dev, <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank" rel="noreferrer">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thank you very much for your response,<div><br></div><div>I'm reading GenericTaintChecker and in its document "The taint information produced by it might be useful to other checkers". I wonder how I can get the information from GenericTaintChecker or is it better to add my own analysis to it?<br clear="all"><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><br></div><div dir="ltr">----------------<div>Best regards,</div><div>Thien Tran.</div></div></div></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 2 Sep 2020 at 10:06, Gábor Márton <<a href="mailto:martongabesz@gmail.com" rel="noreferrer noreferrer" target="_blank">martongabesz@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div>Hi,<div dir="auto"><br></div><div dir="auto">Checkers which emit bug reports are ought to be independent. So in this sense, no, you cannot "launch" another checker inside the current checker. </div><div dir="auto"><br></div>Hope this helps, </div><div dir="auto">Gábor <br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Tue, 1 Sep 2020, 08:25 Thien Tran via cfe-dev, <<a href="mailto:cfe-dev@lists.llvm.org" rel="noreferrer noreferrer" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello all,<div><br></div><div>I'm writing a checker to analyze function calls in the body. Please let me know if we can launch another checker in the context of the current checker?</div><div><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><br></div><div>Thank you very much!</div><div><br></div><div dir="ltr">----------------<div>Best regards,</div><div>Thien Tran.</div></div></div></div></div></div></div></div></div></div></div>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" rel="noreferrer noreferrer noreferrer" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div></div></div>
</blockquote></div>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" rel="noreferrer noreferrer" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div></div>
</blockquote></div>
</blockquote></div>