<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Aug 1, 2013, at 1:09 PM, Todd Nowacki <<a href="mailto:nowacki724@gmail.com">nowacki724@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div dir="ltr">I have already implemented the format checker, and it works fairly well. <div>The reference count checker has a lot of progress, but there is still a significant portion of work that needs to be done. The Python/C API has a lot of functions for lists, tuples, and dictionaries; all of these functions subtly change the way reference counting works and limit the accuracy of the checker. </div><div><br></div><div>I'll submit an updated patch soon to fix the wording and add links to the relevant portions of the API. </div><div><br></div></div></div></blockquote>Great!</div><div dir="auto"><br></div><div dir="auto">Feel free to submit the website update patch after you've addressed the comments.</div><div dir="auto"><br></div><div dir="auto">Anna.</div><div dir="auto"><br></div><div dir="auto"><br><blockquote type="cite"><div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div dir="ltr"><div>-Todd</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 31, 2013 at 10:54 AM, Anna Zaks<span class="Apple-converted-space"> </span><span dir="ltr"><<a href="mailto:ganna@apple.com" target="_blank">ganna@apple.com</a>></span><span class="Apple-converted-space"> </span>wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div style="word-wrap: break-word;"><div>Todd, out of curiosity, are you interested in working on these checks yourself?</div><div><br></div><div>It would be useful to include a link/reference to the python docs or, even better, the specific sections that document string formatting and ref counting APIs.</div><div><br></div><div><div>+Ensure that objects are freed objects are not used and that objects are freed when no longer in use. </div><div>+Also ensure that correct use of Py_INCREF, Py_DECREF, Py_XINCREF, and Py_XDECREF in various circumstances. </div></div><div>The wording on this one is off. </div><div><br></div><div>This check is only partially related to RefCount, no?</div><div>+PyObject* test3() {</div><div><div>+  ...</div><div>+  return Py_None; //warn</div><div>+}</div></div><div><br></div><div>Thanks,</div><div>Anna.</div><br><div><div><div class="h5"><div>On Jul 30, 2013, at 1:39 PM, Todd Nowacki <<a href="mailto:nowacki724@gmail.com" target="_blank">nowacki724@gmail.com</a>> wrote:</div><br></div></div><blockquote type="cite"><div style="letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div><div class="h5"><div dir="ltr">I added a checker idea to the "Possible Future Checkers".<div><br></div><div>The checkers would check various aspects of the Python/C API. see <a href="http://docs.python.org/3.1/c-api/index.html" target="_blank">http://docs.python.org/3.1/c-api/index.html</a></div><div><br></div><div>One checker would ensure that the format string given to the functions for parsing arguments and building values (Py_BuildValue, PyArg_ParseTuple, etc.)</div><div>is not malformed and matches the arguments given. </div><div><br></div><div>The other would check that objects are freed objects are not used and that objects are freed when no longer in use. It would also ensure that correct use of Py_INCREF, Py_DECREF, Py_XINCREF, and Py_XDECREF in various circumstances.</div><div><br></div><div>-Todd Nowacki</div></div></div></div><span><checkerIdea.patch></span>_______________________________________________<br>cfe-commits mailing list<br><a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">cfe-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a></div></blockquote></div></div></blockquote></div></div></div></blockquote></div><br></body></html>