]> granicus.if.org Git - clang/commitdiff
[analyzer] Add an ErrnoChecker (PR18701) to the Potential Checkers list.
authorJordan Rose <jordan_rose@apple.com>
Sat, 5 Apr 2014 06:10:28 +0000 (06:10 +0000)
committerJordan Rose <jordan_rose@apple.com>
Sat, 5 Apr 2014 06:10:28 +0000 (06:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205667 91177308-0d34-0410-b5e6-96231b3b80d8

www/analyzer/potential_checkers.html

index 5b32dd0329d897c520cd8a9a7bfb1adaceca8466..6ec68a9909675a423a97246cc4b65fbbae002d28 100644 (file)
@@ -314,6 +314,34 @@ int foo(bool cond) {
 
 </table>
 
+<!-- =============================== POSIX ================================= -->
+<h3>POSIX</h3>
+<table class="checkers">
+<col class="namedescr"><col class="example"><col class="progress">
+<thead><tr><td>Name, Description</td><td>Example</td><td>Progress</td></tr></thead>
+
+<tr><td><span class="name">posix.Errno</span><br><br>
+Record that <code>errno</code> is non-zero when certain functions fail.
+</td><td><pre>
+#include &lt;stdlib.h&gt;
+
+int readWrapper(int fd, int *count) {
+  int lcount = read(fd, globalBuf, sizeof(globalBuf));
+  if (lcount &lt; 0)
+    return errno;
+  *count = lcount;
+  return 0;
+}
+
+void use(int fd) {
+  int count;
+  if (!readWrapper(fd))
+    print("%d", count); // should not warn
+}
+</pre></td><td class="aligned"><a href="http://llvm.org/bugs/show_bug.cgi?id=18701">PR18701</a></td></tr>
+
+</table>
+
 <!-- ========================= undefined behavior ========================== -->
 <h3>undefined behavior</h3>
 <table class="checkers">