| // RUN: %clang_cc1 -analyze -analyzer-checker=core -analyzer-output=text -verify %s |
| // RUN: %clang_cc1 -analyze -analyzer-checker=core -analyzer-output=plist-multi-file %s -o - | FileCheck %s |
| |
| void zero(int **p) { |
| *p = 0; |
| // expected-note@-1 {{Null pointer value stored to 'a'}} |
| } |
| |
| void testZero(int *a) { |
| zero(&a); |
| // expected-note@-1 {{Calling 'zero'}} |
| // expected-note@-2 {{Returning from 'zero'}} |
| *a = 1; // expected-warning{{Dereference of null pointer}} |
| // expected-note@-1 {{Dereference of null pointer (loaded from variable 'a')}} |
| } |
| |
| |
| void check(int *p) { |
| if (p) { |
| // expected-note@-1 + {{Assuming 'p' is null}} |
| // expected-note@-2 + {{Assuming pointer value is null}} |
| // expected-note@-3 + {{Taking false branch}} |
| return; |
| } |
| return; |
| } |
| |
| void testCheck(int *a) { |
| check(a); |
| // expected-note@-1 {{Calling 'check'}} |
| // expected-note@-2 {{Returning from 'check'}} |
| *a = 1; // expected-warning{{Dereference of null pointer}} |
| // expected-note@-1 {{Dereference of null pointer (loaded from variable 'a')}} |
| } |
| |
| |
| int *getPointer(); |
| |
| void testInitCheck() { |
| int *a = getPointer(); |
| // expected-note@-1 {{Variable 'a' initialized here}} |
| check(a); |
| // expected-note@-1 {{Calling 'check'}} |
| // expected-note@-2 {{Returning from 'check'}} |
| *a = 1; // expected-warning{{Dereference of null pointer}} |
| // expected-note@-1 {{Dereference of null pointer (loaded from variable 'a')}} |
| } |
| |
| void testStoreCheck(int *a) { |
| a = getPointer(); |
| // expected-note@-1 {{Value assigned to 'a'}} |
| check(a); |
| // expected-note@-1 {{Calling 'check'}} |
| // expected-note@-2 {{Returning from 'check'}} |
| *a = 1; // expected-warning{{Dereference of null pointer}} |
| // expected-note@-1 {{Dereference of null pointer (loaded from variable 'a')}} |
| } |
| |
| |
| int *getZero() { |
| int *p = 0; |
| // expected-note@-1 {{Variable 'p' initialized to a null pointer value}} |
| // ^ This note checks that we add a second visitor for the return value. |
| return p; |
| // expected-note@-1 {{Returning null pointer (loaded from 'p')}} |
| } |
| |
| void testReturnZero() { |
| *getZero() = 1; // expected-warning{{Dereference of null pointer}} |
| // expected-note@-1 {{Calling 'getZero'}} |
| // expected-note@-2 {{Returning from 'getZero'}} |
| // expected-note@-3 {{Dereference of null pointer}} |
| } |
| |
| void testInitZero() { |
| // FIXME: <rdar://problem/12114689> Diagnostics: Need to step into the function whose result is assigned to an interesting region |
| int *a = getZero(); |
| // expected-note@-1 {{Variable 'a' initialized to a null pointer value}} |
| *a = 1; // expected-warning{{Dereference of null pointer}} |
| // expected-note@-1 {{Dereference of null pointer (loaded from variable 'a')}} |
| } |
| |
| void testStoreZero(int *a) { |
| // FIXME: <rdar://problem/12114689> Diagnostics: Need to step into the function whose result is assigned to an interesting region |
| a = getZero(); |
| // expected-note@-1 {{Null pointer value stored to 'a'}} |
| *a = 1; // expected-warning{{Dereference of null pointer}} |
| // expected-note@-1 {{Dereference of null pointer (loaded from variable 'a')}} |
| } |
| |
| |
| // CHECK: <?xml version="1.0" encoding="UTF-8"?> |
| // CHECK: <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
| // CHECK: <plist version="1.0"> |
| // CHECK: <dict> |
| // CHECK: <key>files</key> |
| // CHECK: <array> |
| // CHECK: <string>{{.*}}path-notes.c</string> |
| // CHECK: </array> |
| // CHECK: <key>diagnostics</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>path</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>10</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>10</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>10</integer> |
| // CHECK: <key>col</key><integer>10</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Calling 'zero'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Calling 'zero'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>4</integer> |
| // CHECK: <key>col</key><integer>1</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Entered call from 'testZero'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Entered call from 'testZero'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>4</integer> |
| // CHECK: <key>col</key><integer>1</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>4</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>5</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>5</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>5</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>5</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>5</integer> |
| // CHECK: <key>col</key><integer>8</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Null pointer value stored to 'a'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Null pointer value stored to 'a'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>10</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>10</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>10</integer> |
| // CHECK: <key>col</key><integer>10</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Returning from 'zero'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Returning from 'zero'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>10</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>10</integer> |
| // CHECK: <key>col</key><integer>6</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>13</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>13</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>13</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>13</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>13</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>description</key><string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: <key>category</key><string>Logic error</string> |
| // CHECK: <key>type</key><string>Dereference of null pointer</string> |
| // CHECK: <key>issue_context_kind</key><string>function</string> |
| // CHECK: <key>issue_context</key><string>testZero</string> |
| // CHECK: <key>issue_hash</key><integer>4</integer> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>13</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>path</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>29</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>29</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>29</integer> |
| // CHECK: <key>col</key><integer>10</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Calling 'check'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Calling 'check'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>18</integer> |
| // CHECK: <key>col</key><integer>1</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Entered call from 'testCheck'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Entered call from 'testCheck'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>18</integer> |
| // CHECK: <key>col</key><integer>1</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>18</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Assuming 'p' is null</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Assuming 'p' is null</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Assuming pointer value is null</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Assuming pointer value is null</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>25</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>25</integer> |
| // CHECK: <key>col</key><integer>8</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>29</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>29</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>29</integer> |
| // CHECK: <key>col</key><integer>10</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Returning from 'check'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Returning from 'check'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>29</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>29</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>32</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>32</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>32</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>32</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>32</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>description</key><string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: <key>category</key><string>Logic error</string> |
| // CHECK: <key>type</key><string>Dereference of null pointer</string> |
| // CHECK: <key>issue_context_kind</key><string>function</string> |
| // CHECK: <key>issue_context</key><string>testCheck</string> |
| // CHECK: <key>issue_hash</key><integer>4</integer> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>32</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>path</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>40</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>40</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>40</integer> |
| // CHECK: <key>col</key><integer>8</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Variable 'a' initialized here</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Variable 'a' initialized here</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>40</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>40</integer> |
| // CHECK: <key>col</key><integer>5</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>42</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>42</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>42</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>42</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>42</integer> |
| // CHECK: <key>col</key><integer>10</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Calling 'check'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Calling 'check'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>18</integer> |
| // CHECK: <key>col</key><integer>1</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Entered call from 'testInitCheck'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Entered call from 'testInitCheck'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>18</integer> |
| // CHECK: <key>col</key><integer>1</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>18</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Assuming 'p' is null</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Assuming 'p' is null</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>25</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>25</integer> |
| // CHECK: <key>col</key><integer>8</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>42</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>42</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>42</integer> |
| // CHECK: <key>col</key><integer>10</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Returning from 'check'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Returning from 'check'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>42</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>42</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>45</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>45</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>45</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>45</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>45</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>description</key><string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: <key>category</key><string>Logic error</string> |
| // CHECK: <key>type</key><string>Dereference of null pointer</string> |
| // CHECK: <key>issue_context_kind</key><string>function</string> |
| // CHECK: <key>issue_context</key><string>testInitCheck</string> |
| // CHECK: <key>issue_hash</key><integer>6</integer> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>45</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>path</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>50</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>50</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>50</integer> |
| // CHECK: <key>col</key><integer>18</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Value assigned to 'a'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Value assigned to 'a'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>50</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>50</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>52</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>52</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>52</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>52</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>52</integer> |
| // CHECK: <key>col</key><integer>10</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Calling 'check'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Calling 'check'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>18</integer> |
| // CHECK: <key>col</key><integer>1</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Entered call from 'testStoreCheck'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Entered call from 'testStoreCheck'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>18</integer> |
| // CHECK: <key>col</key><integer>1</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>18</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Assuming 'p' is null</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Assuming 'p' is null</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>19</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>25</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>25</integer> |
| // CHECK: <key>col</key><integer>8</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>52</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>52</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>52</integer> |
| // CHECK: <key>col</key><integer>10</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Returning from 'check'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Returning from 'check'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>52</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>52</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>55</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>55</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>55</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>55</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>55</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>description</key><string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: <key>category</key><string>Logic error</string> |
| // CHECK: <key>type</key><string>Dereference of null pointer</string> |
| // CHECK: <key>issue_context_kind</key><string>function</string> |
| // CHECK: <key>issue_context</key><string>testStoreCheck</string> |
| // CHECK: <key>issue_hash</key><integer>6</integer> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>55</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>path</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>10</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>12</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Calling 'getZero'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Calling 'getZero'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>60</integer> |
| // CHECK: <key>col</key><integer>1</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Entered call from 'testReturnZero'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Entered call from 'testReturnZero'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>60</integer> |
| // CHECK: <key>col</key><integer>1</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>60</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>61</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>61</integer> |
| // CHECK: <key>col</key><integer>5</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>61</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>61</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>61</integer> |
| // CHECK: <key>col</key><integer>8</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Variable 'p' initialized to a null pointer value</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Variable 'p' initialized to a null pointer value</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>61</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>61</integer> |
| // CHECK: <key>col</key><integer>5</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>64</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>64</integer> |
| // CHECK: <key>col</key><integer>8</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>64</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>64</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>64</integer> |
| // CHECK: <key>col</key><integer>10</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Returning null pointer (loaded from 'p')</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Returning null pointer (loaded from 'p')</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>12</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>1</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Returning from 'getZero'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Returning from 'getZero'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>10</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>10</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>16</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Dereference of null pointer</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Dereference of null pointer</string> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>description</key><string>Dereference of null pointer</string> |
| // CHECK: <key>category</key><string>Logic error</string> |
| // CHECK: <key>type</key><string>Dereference of null pointer</string> |
| // CHECK: <key>issue_context_kind</key><string>function</string> |
| // CHECK: <key>issue_context</key><string>testReturnZero</string> |
| // CHECK: <key>issue_hash</key><integer>1</integer> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>69</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>path</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>5</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>12</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>18</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>5</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>12</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>18</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>12</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>18</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>5</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>8</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Variable 'a' initialized to a null pointer value</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Variable 'a' initialized to a null pointer value</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>77</integer> |
| // CHECK: <key>col</key><integer>5</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>79</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>79</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>79</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>79</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>79</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>description</key><string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: <key>category</key><string>Logic error</string> |
| // CHECK: <key>type</key><string>Dereference of null pointer</string> |
| // CHECK: <key>issue_context_kind</key><string>function</string> |
| // CHECK: <key>issue_context</key><string>testInitZero</string> |
| // CHECK: <key>issue_hash</key><integer>4</integer> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>79</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>path</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>13</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>13</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>7</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>13</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>15</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Null pointer value stored to 'a'</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Null pointer value stored to 'a'</string> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>control</string> |
| // CHECK: <key>edges</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>start</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>85</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>end</key> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>87</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>87</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>kind</key><string>event</string> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>87</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <key>ranges</key> |
| // CHECK: <array> |
| // CHECK: <array> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>87</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>87</integer> |
| // CHECK: <key>col</key><integer>4</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </array> |
| // CHECK: <key>depth</key><integer>0</integer> |
| // CHECK: <key>extended_message</key> |
| // CHECK: <string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: <key>message</key> |
| // CHECK: <string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: <key>description</key><string>Dereference of null pointer (loaded from variable 'a')</string> |
| // CHECK: <key>category</key><string>Logic error</string> |
| // CHECK: <key>type</key><string>Dereference of null pointer</string> |
| // CHECK: <key>issue_context_kind</key><string>function</string> |
| // CHECK: <key>issue_context</key><string>testStoreZero</string> |
| // CHECK: <key>issue_hash</key><integer>4</integer> |
| // CHECK: <key>location</key> |
| // CHECK: <dict> |
| // CHECK: <key>line</key><integer>87</integer> |
| // CHECK: <key>col</key><integer>3</integer> |
| // CHECK: <key>file</key><integer>0</integer> |
| // CHECK: </dict> |
| // CHECK: </dict> |
| // CHECK: </array> |
| // CHECK: </dict> |
| // CHECK: </plist> |