aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/analyzer/available_checks.html1
-rw-r--r--www/analyzer/potential_checkers.html88
2 files changed, 45 insertions, 44 deletions
diff --git a/www/analyzer/available_checks.html b/www/analyzer/available_checks.html
index 3a902a3d36..12d836c483 100644
--- a/www/analyzer/available_checks.html
+++ b/www/analyzer/available_checks.html
@@ -127,6 +127,7 @@
<tr>
<td><b>osx.coreFoundation.CFRetainRelease</b></td><td>Check for null arguments to CFRetain/CFRelease.</td>
</tr>
+<tr>
<td><b>osx.coreFoundation.containers.OutOfBounds</b></td><td>Checks for index out-of-bounds when using 'CFArray' API.</td>
</tr>
<tr>
diff --git a/www/analyzer/potential_checkers.html b/www/analyzer/potential_checkers.html
index 85155c095c..a2d637548a 100644
--- a/www/analyzer/potential_checkers.html
+++ b/www/analyzer/potential_checkers.html
@@ -18,7 +18,7 @@
<div id="content">
<h1>List of potential checkers</h1>
-<!---------------------------- allocation/deallocation -------------------------->
+<!-- ========================= allocation/deallocation ======================= -->
<h3>allocation/deallocation</h3>
<table class="checkers">
<col class="namedescr"><col class="example"><col class="progress">
@@ -176,7 +176,7 @@ void test() {
<tr><td><span class="name">memory.NegativeArraySize
<br>enhancement to experimental.security.MallocOverflow<br>(C, C++)
</span><br><br>
-‘n’ is used to specify the buffer size may be negative
+'n' is used to specify the buffer size may be negative
</td><td><pre>
#include &lt;stdlib.h&gt;
@@ -189,7 +189,7 @@ void test() {
</table>
-<!-------------------------- constructors/destructors ------------------------->
+<!-- ======================= constructors/destructors ====================== -->
<h3>constructors/destructors</h3>
<table class="checkers">
<col class="namedescr"><col class="example"><col class="progress">
@@ -223,7 +223,7 @@ class A {
</table>
-<!--------------------------------- exceptions -------------------------------->
+<!-- ============================== exceptions ============================= -->
<h3>exceptions</h3>
<table class="checkers">
<col class="namedescr"><col class="example"><col class="progress">
@@ -260,7 +260,7 @@ void f() throw(int) {
</table>
-<!---------------------------- smart pointers --------------------------------->
+<!-- ========================= smart pointers ============================== -->
<h3>smart pointers</h3>
<table class="checkers">
<col class="namedescr"><col class="example"><col class="progress">
@@ -286,7 +286,7 @@ void test() {
</table>
-<!---------------------------- undefined behavior ----------------------------->
+<!-- ========================= undefined behavior ========================== -->
<h3>undefined behavior</h3>
<table class="checkers">
<col class="namedescr"><col class="example"><col class="progress">
@@ -432,7 +432,7 @@ void test() {
B *b1 = new B;
B b2;
new (b1) T;
- new (&b2) T;
+ new (&amp;b2) T;
delete b1; // warn
} // warn
</pre></td><td></td></tr>
@@ -485,7 +485,7 @@ void test() {
*iq = 1; // warn
const Y y;
- Y* p = const_cast&lt;Y*&gt;(&y);
+ Y* p = const_cast&lt;Y*&gt;(&amp;y);
p-&gt;x.i = 1; // ok
p-&gt;x.j = 1; // warn
}
@@ -544,10 +544,10 @@ struct non_POD : public POD {
extern POD pod;
extern non_POD non_pod;
-int *p1 = &non_pod.j; // warn
-int *p2 = &non_pod.pod.i; // warn
-int *p3 = &pod.i; // ok
-POD *p4 = & non_pod; // warn
+int *p1 = &amp;non_pod.j; // warn
+int *p2 = &amp;non_pod.pod.i; // warn
+int *p3 = &amp;pod.i; // ok
+POD *p4 = &amp;non_pod; // warn
POD a;
non_POD b;
@@ -555,7 +555,7 @@ non_POD b;
struct S {
int *k;
non_POD non_pod;
- S() : k(&non_pod.j) {} // warn
+ S() : k(&amp;non_pod.j) {} // warn
};
// C++11
@@ -572,10 +572,10 @@ struct non_trivial: public trivial {
extern trivial t;
extern non_trivial nt;
-int *p1 = &nt.j; // warn
-int *p2 = &nt.i; // warn
-int *p3 = &t.i; // ok
-trivial *p4 = &nt;
+int *p1 = &amp;nt.j; // warn
+int *p2 = &amp;nt.i; // warn
+int *p3 = &amp;t.i; // ok
+trivial *p4 = &amp;nt;
trivial t;
non_trivial nt;
@@ -583,7 +583,7 @@ non_trivial nt;
struct S {
int *k;
non_trivial nt;
- S() : k(&nt.j) {} // warn
+ S() : k(&amp;nt.j) {} // warn
};
</pre></td><td></td></tr>
@@ -820,12 +820,12 @@ The effects are undefined if an exception is thrown.
</td><td><pre>
struct S {
int i, j;
- S (const S &s) {
+ S (const S &amp;s) {
i = s.i;
throw 1; // warn
j = s.j;
};
- S& operator=(const S &s) {
+ S &amp;operator=(const S &amp;s) {
i = s.i;
throw 1; // warn
j = s.j;
@@ -993,8 +993,8 @@ class my_streambuf : public std::streambuf {
void test() {
std::filebuf fb;
- std::istream in(&fb);
- std::ostream out(&fb);
+ std::istream in(&amp;fb);
+ std::ostream out(&amp;fb);
std::filebuf::off_type pos(-1);
in.seekg(pos); // warn
out.seekp(-1); // warn
@@ -1002,7 +1002,7 @@ void test() {
</pre></td><td></td></tr>
</table>
-<!------------------------------- different ----------------------------------->
+<!-- ============================ different ================================ -->
<h3>different</h3>
<table class="checkers">
<col class="namedescr"><col class="example"><col class="progress">
@@ -1175,8 +1175,8 @@ void test() {
<tr><td><span class="name">different.WrongVarForStmt
<br>(C, C++)</span><br><br>
-Possibly wrong variable is used in the loop/cond-expression of the ‘for’
-statement. Did you mean ‘proper_variable_name’?
+Possibly wrong variable is used in the loop/cond-expression of the 'for'
+statement. Did you mean 'proper_variable_name'?
</td><td><pre>
void test() {
int i;
@@ -1213,21 +1213,21 @@ void test() {
<tr><td><span class="name">different.BitwiseOpBoolArg
<br>maybe join with experimental.core.BoolAssignment<br>(C, C++)</span><br><br>
-bool value is used at the left/right part of the & (|) operator. Did you mean
-&& (||) ?
+bool value is used at the left/right part of the &amp; (|) operator. Did you mean
+&amp;&amp; (||) ?
</td><td><pre>
int f();
void test() {
bool b = true;
- if (b & f()) {} // warn
+ if (b &amp; f()) {} // warn
}
</pre></td><td></td></tr>
<tr><td><span class="name">different.LabelInsideSwitch
<br>(C)</span><br><br>
Possible misprint: label found inside the switch() statement. (* did you mean
-‘default’?)
+'default'?)
</td><td><pre>
void test() {
int c = 7;
@@ -1242,7 +1242,7 @@ void test() {
<tr><td><span class="name">different.IdenticalCondIfIf
<br>(C)</span><br><br>
-The conditions of two subsequent ‘if’ statements are identical
+The conditions of two subsequent 'if' statements are identical
</td><td><pre>
void test() {
int c = 7;
@@ -1255,7 +1255,7 @@ void test() {
<tr><td><span class="name">different.CondOpIdenticalReturn
<br>(C)</span><br><br>
-The return expressions of the ‘?:’ operator are identical
+The return expressions of the '?:' operator are identical
</td><td><pre>
void test() {
unsigned a;
@@ -1265,7 +1265,7 @@ void test() {
<tr><td><span class="name">different.UnaryPlusWithUnsigned
<br>(C)</span><br><br>
-Using ‘unary +’ with unsigned is meaningless
+Using 'unary +' with unsigned is meaningless
</td><td><pre>
void test() {
unsigned a;
@@ -1275,11 +1275,11 @@ void test() {
<tr><td><span class="name">different.LogicalOpUselessArg
<br>(C)</span><br><br>
-The second operand of the && operator has no impact on expression result
+The second operand of the &amp;&amp; operator has no impact on expression result
</td><td><pre>
void test() {
unsigned a;
- if (a&lt;7 && a&lt;10) {}; // warn
+ if (a&lt;7 &amp;&amp; a&lt;10) {}; // warn
}
</pre></td><td></td></tr>
@@ -1290,14 +1290,14 @@ The expression always evaluates to true/false
void test() {
int i=0;
if (i!=0) {}; // warn
- if (i==0 && i==1) {}; // warn
+ if (i==0 &amp;&amp; i==1) {}; // warn
if (i<0 || i>=0) {}; // warn
}
</pre></td><td></td></tr>
<tr><td><span class="name">different.SameResUnsignedCmp
<br>(C)</span><br><br>
-Comparison of unsigned expression ‘op expr’ is always true/false
+Comparison of unsigned expression 'op expr' is always true/false
</td><td><pre>
void test() {
unsigned u;
@@ -1309,7 +1309,7 @@ void test() {
<tr><td><span class="name">different.OpPrecedenceAssignCmp
<br>(C)</span><br><br>
Comparison operation has higher precedence then assignment. Bool value is
-assigned to variable of type ‘type’. Parenthesis may bee required around an
+assigned to variable of type 'type'. Parenthesis may bee required around an
assignment
</td><td><pre>
int f();
@@ -1339,7 +1339,7 @@ void test() {
<br>(C++)</span><br><br>
The object was created but is not being used<br><br>
The exception object was created but is not being used. Did you mean
-‘throw std::exception();’ ?
+'throw std::exception();'?
</td><td><pre>
#include &lt;exception&gt;
@@ -1374,7 +1374,7 @@ void test() {
<tr><td><span class="name">different.ConversionToBool
<br>maybe join with experimental.core.BoolAssignment<br>(C, C++)</span><br><br>
-Odd implicit conversion from ‘type’ to ‘bool’
+Odd implicit conversion from 'type' to 'bool'
</td><td><pre>
bool test() {
return 1.; // warn
@@ -1488,7 +1488,7 @@ public:
</table>
-<!------------------------------- WinAPI -------------------------------------->
+<!-- ============================ WinAPI =================================== -->
<h3>WinAPI</h3>
<table class="checkers">
<col class="namedescr"><col class="example"><col class="progress">
@@ -1507,7 +1507,7 @@ void test() {
BOOL fSuccess;
fSuccess = CreateProcess(
NULL, TEXT("MyProgram.exe"), NULL, NULL,
- TRUE, 0, NULL, NULL, &si, &pi);
+ TRUE, 0, NULL, NULL, &amp;si, &amp;pi);
} // warn
</pre></td><td></td></tr>
@@ -1548,7 +1548,7 @@ void test()
</table>
-<!------------------------------ optimization --------------------------------->
+<!-- =========================== optimization ============================== -->
<h3>optimization</h3>
<table class="checkers">
<col class="namedescr"><col class="example"><col class="progress">
@@ -1593,14 +1593,14 @@ variable
void test() {
const char* s = "abc";
- if (strlen(s) &gt; 0 &&
+ if (strlen(s) &gt; 0 &amp;&amp;
strlen(s) &lt; 7) {}; // warn
}
</pre></td><td></td></tr>
<tr><td><span class="name">optimization.EmptyCstrDetect
<br>(C)</span><br><br>
-Optimization: it is more efficient to use “str[0] != ‘\0’” to identify an empty
+Optimization: it is more efficient to use "str[0] != '\0'" to identify an empty
string
</td><td><pre>
#include &lt;string.h&gt;