blob: 248abc21c88955d81266d294bf7f41d7efda6180 [file] [log] [blame]
Anna Zaks046c9e62012-03-21 19:44:57 +00001// RUN: %clang_cc1 -analyze -analyzer-checker=unix.Malloc -analyzer-output=plist -o %t %s
Ted Kremenek76aadc32012-03-09 01:13:14 +00002// RUN: FileCheck --input-file %t %s
Anna Zaks5a0917d2012-02-16 03:41:01 +00003
4typedef __typeof(sizeof(int)) size_t;
5void *malloc(size_t);
Anna Zaksfe571602012-02-16 22:26:07 +00006void free(void *);
7void *realloc(void *ptr, size_t size);
Anna Zaks5a0917d2012-02-16 03:41:01 +00008
9void diagnosticTest(int in) {
10 if (in > 5) {
11 int *p = malloc(12);
12 (*p)++;
13 }
14 in++; // expected-warning {{leak}}
15}
16
17void myArrayAllocation() {
18 int **A;
19 A = malloc(2*sizeof(int*));
20 A[0] = 0;// expected-warning {{leak}}
21}
22
Anna Zaksfe571602012-02-16 22:26:07 +000023void reallocDiagnostics() {
24 char * buf = malloc(100);
25 char * tmp;
26 tmp = (char*)realloc(buf, 0x1000000);
27 if (!tmp) {
28 return;// expected-warning {{leak}}
29 }
30 buf = tmp;
31 free(buf);
32}
33
Ted Kremenek76aadc32012-03-09 01:13:14 +000034void *wrapper() {
35 void *x = malloc(100);
36 // This is intentionally done to test diagnostic emission.
37 if (x)
38 return x;
39 return 0;
40}
41
42void test_wrapper() {
43 void *buf = wrapper();
44 (void) buf;
45}
46
Anna Zaks368a0d52012-03-15 21:13:02 +000047// Test what happens when the same call frees and allocated memory.
Anna Zaks56a938f2012-03-16 23:24:20 +000048// Also tests the stack hint for parameters, when they are passed directly or via pointer.
Anna Zaks368a0d52012-03-15 21:13:02 +000049void my_free(void *x) {
50 free(x);
51}
52void my_malloc_and_free(void **x) {
53 *x = malloc(100);
54 if (*x)
55 my_free(*x);
56 return;
57}
58void *test_double_action_call() {
59 void *buf;
60 my_malloc_and_free(&buf);
61 return buf;
62}
63
Anna Zaks56a938f2012-03-16 23:24:20 +000064// Test stack hint for 'reallocation failed'.
65char *my_realloc(char *buf) {
66 char *tmp;
67 tmp = (char*)realloc(buf, 0x1000000);
68 if (!tmp) {
69 return tmp;
70 }
71 return tmp;
72}
73void reallocIntra() {
74 char *buf = (char *)malloc(100);
75 buf = my_realloc(buf);
76 free(buf);
77}
78
79// Test stack hint when returning a result.
80static char *malloc_wrapper_ret() {
81 return (char*)malloc(12);
82}
83void use_ret() {
84 char *v;
85 v = malloc_wrapper_ret();
86}
87
Anna Zaks3d7c44e2012-03-21 19:45:08 +000088// Test that we refer to the last symbol used in the leak diagnostic.
89void LeakedSymbol(int in) {
90 int *m = 0;
91 int *p;
92 p = (int*)malloc(12);
93 (*p)++;
94 m = p;
95 p = 0;
96 (*m)++;
97 in++;
98}
Anna Zaksfbd58742012-03-16 23:44:28 +000099
Anna Zaks0b3ade82012-04-20 21:59:08 +0000100// Tests that exercise running remove dead bindings at Call exit.
101static void function_with_leak1() {
102 char *x = (char*)malloc(12);
103}
104void use_function_with_leak1() {
105 function_with_leak1();
106 int y = 0;
107}
Ted Kremenek07189522012-04-04 18:11:35 +0000108
Anna Zaks0b3ade82012-04-20 21:59:08 +0000109static void function_with_leak2() {
110 char *x = (char*)malloc(12);
111 int m = 0;
112}
113void use_function_with_leak2() {
114 function_with_leak2();
115}
116
117static void function_with_leak3(int y) {
118 char *x = (char*)malloc(12);
119 if (y)
120 y++;
121}
122void use_function_with_leak3(int y) {
123 function_with_leak3(y);
124}
125
126static void function_with_leak4(int y) {
127 char *x = (char*)malloc(12);
128 if (y)
129 y++;
130 else
131 y--;
132}
133void use_function_with_leak4(int y) {
134 function_with_leak4(y);
135}
136
137int anotherFunction5() {
138 return 5;
139}
140static int function_with_leak5() {
141 char *x = (char*)malloc(12);
142 return anotherFunction5();
143}
144void use_function_with_leak5() {
145 function_with_leak5();
146}
147
148void anotherFunction6(int m) {
149 m++;
150}
151static void function_with_leak6() {
152 char *x = (char*)malloc(12);
153 anotherFunction6(3);
154}
155void use_function_with_leak6() {
156 function_with_leak6();
157}
158
159static void empty_function(){
160}
161void use_empty_function() {
162 empty_function();
163}
164static char *function_with_leak7() {
165 return (char*)malloc(12);
166}
167void use_function_with_leak7() {
168 function_with_leak7();
169}
170
171//CHECK: <dict>
172//CHECK: <key>files</key>
173//CHECK: <array>
174//CHECK: </array>
175//CHECK: <key>diagnostics</key>
176//CHECK: <array>
177//CHECK: <dict>
178//CHECK: <key>path</key>
179//CHECK: <array>
180//CHECK: <dict>
181//CHECK: <key>kind</key><string>control</string>
182//CHECK: <key>edges</key>
183//CHECK: <array>
184//CHECK: <dict>
185//CHECK: <key>start</key>
186//CHECK: <array>
187//CHECK: <dict>
188//CHECK: <key>line</key><integer>10</integer>
189//CHECK: <key>col</key><integer>5</integer>
190//CHECK: <key>file</key><integer>0</integer>
191//CHECK: </dict>
192//CHECK: <dict>
193//CHECK: <key>line</key><integer>10</integer>
194//CHECK: <key>col</key><integer>5</integer>
195//CHECK: <key>file</key><integer>0</integer>
196//CHECK: </dict>
197//CHECK: </array>
198//CHECK: <key>end</key>
199//CHECK: <array>
200//CHECK: <dict>
201//CHECK: <key>line</key><integer>10</integer>
202//CHECK: <key>col</key><integer>9</integer>
203//CHECK: <key>file</key><integer>0</integer>
204//CHECK: </dict>
205//CHECK: <dict>
206//CHECK: <key>line</key><integer>10</integer>
207//CHECK: <key>col</key><integer>9</integer>
208//CHECK: <key>file</key><integer>0</integer>
209//CHECK: </dict>
210//CHECK: </array>
211//CHECK: </dict>
212//CHECK: </array>
213//CHECK: </dict>
214//CHECK: <dict>
215//CHECK: <key>kind</key><string>control</string>
216//CHECK: <key>edges</key>
217//CHECK: <array>
218//CHECK: <dict>
219//CHECK: <key>start</key>
220//CHECK: <array>
221//CHECK: <dict>
222//CHECK: <key>line</key><integer>10</integer>
223//CHECK: <key>col</key><integer>9</integer>
224//CHECK: <key>file</key><integer>0</integer>
225//CHECK: </dict>
226//CHECK: <dict>
227//CHECK: <key>line</key><integer>10</integer>
228//CHECK: <key>col</key><integer>9</integer>
229//CHECK: <key>file</key><integer>0</integer>
230//CHECK: </dict>
231//CHECK: </array>
232//CHECK: <key>end</key>
233//CHECK: <array>
234//CHECK: <dict>
235//CHECK: <key>line</key><integer>11</integer>
236//CHECK: <key>col</key><integer>9</integer>
237//CHECK: <key>file</key><integer>0</integer>
238//CHECK: </dict>
239//CHECK: <dict>
240//CHECK: <key>line</key><integer>11</integer>
241//CHECK: <key>col</key><integer>9</integer>
242//CHECK: <key>file</key><integer>0</integer>
243//CHECK: </dict>
244//CHECK: </array>
245//CHECK: </dict>
246//CHECK: </array>
247//CHECK: </dict>
248//CHECK: <dict>
249//CHECK: <key>kind</key><string>control</string>
250//CHECK: <key>edges</key>
251//CHECK: <array>
252//CHECK: <dict>
253//CHECK: <key>start</key>
254//CHECK: <array>
255//CHECK: <dict>
256//CHECK: <key>line</key><integer>11</integer>
257//CHECK: <key>col</key><integer>9</integer>
258//CHECK: <key>file</key><integer>0</integer>
259//CHECK: </dict>
260//CHECK: <dict>
261//CHECK: <key>line</key><integer>11</integer>
262//CHECK: <key>col</key><integer>9</integer>
263//CHECK: <key>file</key><integer>0</integer>
264//CHECK: </dict>
265//CHECK: </array>
266//CHECK: <key>end</key>
267//CHECK: <array>
268//CHECK: <dict>
269//CHECK: <key>line</key><integer>11</integer>
270//CHECK: <key>col</key><integer>18</integer>
271//CHECK: <key>file</key><integer>0</integer>
272//CHECK: </dict>
273//CHECK: <dict>
274//CHECK: <key>line</key><integer>11</integer>
275//CHECK: <key>col</key><integer>27</integer>
276//CHECK: <key>file</key><integer>0</integer>
277//CHECK: </dict>
278//CHECK: </array>
279//CHECK: </dict>
280//CHECK: </array>
281//CHECK: </dict>
282//CHECK: <dict>
283//CHECK: <key>kind</key><string>event</string>
284//CHECK: <key>location</key>
285//CHECK: <dict>
286//CHECK: <key>line</key><integer>11</integer>
287//CHECK: <key>col</key><integer>18</integer>
288//CHECK: <key>file</key><integer>0</integer>
289//CHECK: </dict>
290//CHECK: <key>ranges</key>
291//CHECK: <array>
292//CHECK: <array>
293//CHECK: <dict>
294//CHECK: <key>line</key><integer>11</integer>
295//CHECK: <key>col</key><integer>18</integer>
296//CHECK: <key>file</key><integer>0</integer>
297//CHECK: </dict>
298//CHECK: <dict>
299//CHECK: <key>line</key><integer>11</integer>
300//CHECK: <key>col</key><integer>27</integer>
301//CHECK: <key>file</key><integer>0</integer>
302//CHECK: </dict>
303//CHECK: </array>
304//CHECK: </array>
305//CHECK: <key>depth</key><integer>0</integer>
306//CHECK: <key>extended_message</key>
307//CHECK: <string>Memory is allocated</string>
308//CHECK: <key>message</key>
309//CHECK: <string>Memory is allocated</string>
310//CHECK: </dict>
311//CHECK: <dict>
312//CHECK: <key>kind</key><string>control</string>
313//CHECK: <key>edges</key>
314//CHECK: <array>
315//CHECK: <dict>
316//CHECK: <key>start</key>
317//CHECK: <array>
318//CHECK: <dict>
319//CHECK: <key>line</key><integer>11</integer>
320//CHECK: <key>col</key><integer>18</integer>
321//CHECK: <key>file</key><integer>0</integer>
322//CHECK: </dict>
323//CHECK: <dict>
324//CHECK: <key>line</key><integer>11</integer>
325//CHECK: <key>col</key><integer>27</integer>
326//CHECK: <key>file</key><integer>0</integer>
327//CHECK: </dict>
328//CHECK: </array>
329//CHECK: <key>end</key>
330//CHECK: <array>
331//CHECK: <dict>
332//CHECK: <key>line</key><integer>14</integer>
333//CHECK: <key>col</key><integer>5</integer>
334//CHECK: <key>file</key><integer>0</integer>
335//CHECK: </dict>
336//CHECK: <dict>
337//CHECK: <key>line</key><integer>14</integer>
338//CHECK: <key>col</key><integer>6</integer>
339//CHECK: <key>file</key><integer>0</integer>
340//CHECK: </dict>
341//CHECK: </array>
342//CHECK: </dict>
343//CHECK: </array>
344//CHECK: </dict>
345//CHECK: <dict>
346//CHECK: <key>kind</key><string>event</string>
347//CHECK: <key>location</key>
348//CHECK: <dict>
349//CHECK: <key>line</key><integer>14</integer>
350//CHECK: <key>col</key><integer>5</integer>
351//CHECK: <key>file</key><integer>0</integer>
352//CHECK: </dict>
Anna Zaks0b3ade82012-04-20 21:59:08 +0000353//CHECK: <key>depth</key><integer>0</integer>
354//CHECK: <key>extended_message</key>
355//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;p&apos;</string>
356//CHECK: <key>message</key>
357//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;p&apos;</string>
358//CHECK: </dict>
359//CHECK: </array>
360//CHECK: <key>description</key><string>Memory is never released; potential leak of memory pointed to by &apos;p&apos;</string>
361//CHECK: <key>category</key><string>Memory Error</string>
362//CHECK: <key>type</key><string>Memory leak</string>
363//CHECK: <key>issue_context_kind</key><string>function</string>
364//CHECK: <key>issue_context</key><string>diagnosticTest</string>
365//CHECK: <key>location</key>
366//CHECK: <dict>
367//CHECK: <key>line</key><integer>14</integer>
368//CHECK: <key>col</key><integer>5</integer>
369//CHECK: <key>file</key><integer>0</integer>
370//CHECK: </dict>
371//CHECK: </dict>
372//CHECK: <dict>
373//CHECK: <key>path</key>
374//CHECK: <array>
375//CHECK: <dict>
376//CHECK: <key>kind</key><string>control</string>
377//CHECK: <key>edges</key>
378//CHECK: <array>
379//CHECK: <dict>
380//CHECK: <key>start</key>
381//CHECK: <array>
382//CHECK: <dict>
383//CHECK: <key>line</key><integer>18</integer>
384//CHECK: <key>col</key><integer>5</integer>
385//CHECK: <key>file</key><integer>0</integer>
386//CHECK: </dict>
387//CHECK: <dict>
388//CHECK: <key>line</key><integer>18</integer>
389//CHECK: <key>col</key><integer>5</integer>
390//CHECK: <key>file</key><integer>0</integer>
391//CHECK: </dict>
392//CHECK: </array>
393//CHECK: <key>end</key>
394//CHECK: <array>
395//CHECK: <dict>
396//CHECK: <key>line</key><integer>19</integer>
397//CHECK: <key>col</key><integer>5</integer>
398//CHECK: <key>file</key><integer>0</integer>
399//CHECK: </dict>
400//CHECK: <dict>
401//CHECK: <key>line</key><integer>19</integer>
402//CHECK: <key>col</key><integer>5</integer>
403//CHECK: <key>file</key><integer>0</integer>
404//CHECK: </dict>
405//CHECK: </array>
406//CHECK: </dict>
407//CHECK: </array>
408//CHECK: </dict>
409//CHECK: <dict>
410//CHECK: <key>kind</key><string>control</string>
411//CHECK: <key>edges</key>
412//CHECK: <array>
413//CHECK: <dict>
414//CHECK: <key>start</key>
415//CHECK: <array>
416//CHECK: <dict>
417//CHECK: <key>line</key><integer>19</integer>
418//CHECK: <key>col</key><integer>5</integer>
419//CHECK: <key>file</key><integer>0</integer>
420//CHECK: </dict>
421//CHECK: <dict>
422//CHECK: <key>line</key><integer>19</integer>
423//CHECK: <key>col</key><integer>5</integer>
424//CHECK: <key>file</key><integer>0</integer>
425//CHECK: </dict>
426//CHECK: </array>
427//CHECK: <key>end</key>
428//CHECK: <array>
429//CHECK: <dict>
430//CHECK: <key>line</key><integer>19</integer>
431//CHECK: <key>col</key><integer>9</integer>
432//CHECK: <key>file</key><integer>0</integer>
433//CHECK: </dict>
434//CHECK: <dict>
435//CHECK: <key>line</key><integer>19</integer>
436//CHECK: <key>col</key><integer>30</integer>
437//CHECK: <key>file</key><integer>0</integer>
438//CHECK: </dict>
439//CHECK: </array>
440//CHECK: </dict>
441//CHECK: </array>
442//CHECK: </dict>
443//CHECK: <dict>
444//CHECK: <key>kind</key><string>event</string>
445//CHECK: <key>location</key>
446//CHECK: <dict>
447//CHECK: <key>line</key><integer>19</integer>
448//CHECK: <key>col</key><integer>9</integer>
449//CHECK: <key>file</key><integer>0</integer>
450//CHECK: </dict>
451//CHECK: <key>ranges</key>
452//CHECK: <array>
453//CHECK: <array>
454//CHECK: <dict>
455//CHECK: <key>line</key><integer>19</integer>
456//CHECK: <key>col</key><integer>9</integer>
457//CHECK: <key>file</key><integer>0</integer>
458//CHECK: </dict>
459//CHECK: <dict>
460//CHECK: <key>line</key><integer>19</integer>
461//CHECK: <key>col</key><integer>30</integer>
462//CHECK: <key>file</key><integer>0</integer>
463//CHECK: </dict>
464//CHECK: </array>
465//CHECK: </array>
466//CHECK: <key>depth</key><integer>0</integer>
467//CHECK: <key>extended_message</key>
468//CHECK: <string>Memory is allocated</string>
469//CHECK: <key>message</key>
470//CHECK: <string>Memory is allocated</string>
471//CHECK: </dict>
472//CHECK: <dict>
473//CHECK: <key>kind</key><string>control</string>
474//CHECK: <key>edges</key>
475//CHECK: <array>
476//CHECK: <dict>
477//CHECK: <key>start</key>
478//CHECK: <array>
479//CHECK: <dict>
480//CHECK: <key>line</key><integer>19</integer>
481//CHECK: <key>col</key><integer>9</integer>
482//CHECK: <key>file</key><integer>0</integer>
483//CHECK: </dict>
484//CHECK: <dict>
485//CHECK: <key>line</key><integer>19</integer>
486//CHECK: <key>col</key><integer>30</integer>
487//CHECK: <key>file</key><integer>0</integer>
488//CHECK: </dict>
489//CHECK: </array>
490//CHECK: <key>end</key>
491//CHECK: <array>
492//CHECK: <dict>
493//CHECK: <key>line</key><integer>21</integer>
494//CHECK: <key>col</key><integer>1</integer>
495//CHECK: <key>file</key><integer>0</integer>
496//CHECK: </dict>
497//CHECK: <dict>
498//CHECK: <key>line</key><integer>21</integer>
499//CHECK: <key>col</key><integer>1</integer>
500//CHECK: <key>file</key><integer>0</integer>
501//CHECK: </dict>
502//CHECK: </array>
503//CHECK: </dict>
504//CHECK: </array>
505//CHECK: </dict>
506//CHECK: <dict>
507//CHECK: <key>kind</key><string>event</string>
508//CHECK: <key>location</key>
509//CHECK: <dict>
510//CHECK: <key>line</key><integer>21</integer>
511//CHECK: <key>col</key><integer>1</integer>
512//CHECK: <key>file</key><integer>0</integer>
513//CHECK: </dict>
514//CHECK: <key>depth</key><integer>0</integer>
515//CHECK: <key>extended_message</key>
516//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;A&apos;</string>
517//CHECK: <key>message</key>
518//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;A&apos;</string>
519//CHECK: </dict>
520//CHECK: </array>
521//CHECK: <key>description</key><string>Memory is never released; potential leak of memory pointed to by &apos;A&apos;</string>
522//CHECK: <key>category</key><string>Memory Error</string>
523//CHECK: <key>type</key><string>Memory leak</string>
524//CHECK: <key>issue_context_kind</key><string>function</string>
525//CHECK: <key>issue_context</key><string>myArrayAllocation</string>
526//CHECK: <key>location</key>
527//CHECK: <dict>
528//CHECK: <key>line</key><integer>21</integer>
529//CHECK: <key>col</key><integer>1</integer>
530//CHECK: <key>file</key><integer>0</integer>
531//CHECK: </dict>
532//CHECK: </dict>
533//CHECK: <dict>
534//CHECK: <key>path</key>
535//CHECK: <array>
536//CHECK: <dict>
537//CHECK: <key>kind</key><string>control</string>
538//CHECK: <key>edges</key>
539//CHECK: <array>
540//CHECK: <dict>
541//CHECK: <key>start</key>
542//CHECK: <array>
543//CHECK: <dict>
544//CHECK: <key>line</key><integer>24</integer>
545//CHECK: <key>col</key><integer>5</integer>
546//CHECK: <key>file</key><integer>0</integer>
547//CHECK: </dict>
548//CHECK: <dict>
549//CHECK: <key>line</key><integer>24</integer>
550//CHECK: <key>col</key><integer>5</integer>
551//CHECK: <key>file</key><integer>0</integer>
552//CHECK: </dict>
553//CHECK: </array>
554//CHECK: <key>end</key>
555//CHECK: <array>
556//CHECK: <dict>
557//CHECK: <key>line</key><integer>24</integer>
558//CHECK: <key>col</key><integer>18</integer>
559//CHECK: <key>file</key><integer>0</integer>
560//CHECK: </dict>
561//CHECK: <dict>
562//CHECK: <key>line</key><integer>24</integer>
563//CHECK: <key>col</key><integer>28</integer>
564//CHECK: <key>file</key><integer>0</integer>
565//CHECK: </dict>
566//CHECK: </array>
567//CHECK: </dict>
568//CHECK: </array>
569//CHECK: </dict>
570//CHECK: <dict>
571//CHECK: <key>kind</key><string>event</string>
572//CHECK: <key>location</key>
573//CHECK: <dict>
574//CHECK: <key>line</key><integer>24</integer>
575//CHECK: <key>col</key><integer>18</integer>
576//CHECK: <key>file</key><integer>0</integer>
577//CHECK: </dict>
578//CHECK: <key>ranges</key>
579//CHECK: <array>
580//CHECK: <array>
581//CHECK: <dict>
582//CHECK: <key>line</key><integer>24</integer>
583//CHECK: <key>col</key><integer>18</integer>
584//CHECK: <key>file</key><integer>0</integer>
585//CHECK: </dict>
586//CHECK: <dict>
587//CHECK: <key>line</key><integer>24</integer>
588//CHECK: <key>col</key><integer>28</integer>
589//CHECK: <key>file</key><integer>0</integer>
590//CHECK: </dict>
591//CHECK: </array>
592//CHECK: </array>
593//CHECK: <key>depth</key><integer>0</integer>
594//CHECK: <key>extended_message</key>
595//CHECK: <string>Memory is allocated</string>
596//CHECK: <key>message</key>
597//CHECK: <string>Memory is allocated</string>
598//CHECK: </dict>
599//CHECK: <dict>
600//CHECK: <key>kind</key><string>control</string>
601//CHECK: <key>edges</key>
602//CHECK: <array>
603//CHECK: <dict>
604//CHECK: <key>start</key>
605//CHECK: <array>
606//CHECK: <dict>
607//CHECK: <key>line</key><integer>24</integer>
608//CHECK: <key>col</key><integer>18</integer>
609//CHECK: <key>file</key><integer>0</integer>
610//CHECK: </dict>
611//CHECK: <dict>
612//CHECK: <key>line</key><integer>24</integer>
613//CHECK: <key>col</key><integer>28</integer>
614//CHECK: <key>file</key><integer>0</integer>
615//CHECK: </dict>
616//CHECK: </array>
617//CHECK: <key>end</key>
618//CHECK: <array>
619//CHECK: <dict>
620//CHECK: <key>line</key><integer>26</integer>
621//CHECK: <key>col</key><integer>5</integer>
622//CHECK: <key>file</key><integer>0</integer>
623//CHECK: </dict>
624//CHECK: <dict>
625//CHECK: <key>line</key><integer>26</integer>
626//CHECK: <key>col</key><integer>5</integer>
627//CHECK: <key>file</key><integer>0</integer>
628//CHECK: </dict>
629//CHECK: </array>
630//CHECK: </dict>
631//CHECK: </array>
632//CHECK: </dict>
633//CHECK: <dict>
634//CHECK: <key>kind</key><string>control</string>
635//CHECK: <key>edges</key>
636//CHECK: <array>
637//CHECK: <dict>
638//CHECK: <key>start</key>
639//CHECK: <array>
640//CHECK: <dict>
641//CHECK: <key>line</key><integer>26</integer>
642//CHECK: <key>col</key><integer>5</integer>
643//CHECK: <key>file</key><integer>0</integer>
644//CHECK: </dict>
645//CHECK: <dict>
646//CHECK: <key>line</key><integer>26</integer>
647//CHECK: <key>col</key><integer>5</integer>
648//CHECK: <key>file</key><integer>0</integer>
649//CHECK: </dict>
650//CHECK: </array>
651//CHECK: <key>end</key>
652//CHECK: <array>
653//CHECK: <dict>
654//CHECK: <key>line</key><integer>26</integer>
655//CHECK: <key>col</key><integer>18</integer>
656//CHECK: <key>file</key><integer>0</integer>
657//CHECK: </dict>
658//CHECK: <dict>
659//CHECK: <key>line</key><integer>26</integer>
660//CHECK: <key>col</key><integer>40</integer>
661//CHECK: <key>file</key><integer>0</integer>
662//CHECK: </dict>
663//CHECK: </array>
664//CHECK: </dict>
665//CHECK: </array>
666//CHECK: </dict>
667//CHECK: <dict>
668//CHECK: <key>kind</key><string>event</string>
669//CHECK: <key>location</key>
670//CHECK: <dict>
671//CHECK: <key>line</key><integer>26</integer>
672//CHECK: <key>col</key><integer>18</integer>
673//CHECK: <key>file</key><integer>0</integer>
674//CHECK: </dict>
675//CHECK: <key>ranges</key>
676//CHECK: <array>
677//CHECK: <array>
678//CHECK: <dict>
679//CHECK: <key>line</key><integer>26</integer>
680//CHECK: <key>col</key><integer>18</integer>
681//CHECK: <key>file</key><integer>0</integer>
682//CHECK: </dict>
683//CHECK: <dict>
684//CHECK: <key>line</key><integer>26</integer>
685//CHECK: <key>col</key><integer>40</integer>
686//CHECK: <key>file</key><integer>0</integer>
687//CHECK: </dict>
688//CHECK: </array>
689//CHECK: </array>
690//CHECK: <key>depth</key><integer>0</integer>
691//CHECK: <key>extended_message</key>
692//CHECK: <string>Attempt to reallocate memory</string>
693//CHECK: <key>message</key>
694//CHECK: <string>Attempt to reallocate memory</string>
695//CHECK: </dict>
696//CHECK: <dict>
697//CHECK: <key>kind</key><string>control</string>
698//CHECK: <key>edges</key>
699//CHECK: <array>
700//CHECK: <dict>
701//CHECK: <key>start</key>
702//CHECK: <array>
703//CHECK: <dict>
704//CHECK: <key>line</key><integer>26</integer>
705//CHECK: <key>col</key><integer>18</integer>
706//CHECK: <key>file</key><integer>0</integer>
707//CHECK: </dict>
708//CHECK: <dict>
709//CHECK: <key>line</key><integer>26</integer>
710//CHECK: <key>col</key><integer>40</integer>
711//CHECK: <key>file</key><integer>0</integer>
712//CHECK: </dict>
713//CHECK: </array>
714//CHECK: <key>end</key>
715//CHECK: <array>
716//CHECK: <dict>
717//CHECK: <key>line</key><integer>27</integer>
718//CHECK: <key>col</key><integer>5</integer>
719//CHECK: <key>file</key><integer>0</integer>
720//CHECK: </dict>
721//CHECK: <dict>
722//CHECK: <key>line</key><integer>27</integer>
723//CHECK: <key>col</key><integer>5</integer>
724//CHECK: <key>file</key><integer>0</integer>
725//CHECK: </dict>
726//CHECK: </array>
727//CHECK: </dict>
728//CHECK: </array>
729//CHECK: </dict>
730//CHECK: <dict>
731//CHECK: <key>kind</key><string>control</string>
732//CHECK: <key>edges</key>
733//CHECK: <array>
734//CHECK: <dict>
735//CHECK: <key>start</key>
736//CHECK: <array>
737//CHECK: <dict>
738//CHECK: <key>line</key><integer>27</integer>
739//CHECK: <key>col</key><integer>5</integer>
740//CHECK: <key>file</key><integer>0</integer>
741//CHECK: </dict>
742//CHECK: <dict>
743//CHECK: <key>line</key><integer>27</integer>
744//CHECK: <key>col</key><integer>5</integer>
745//CHECK: <key>file</key><integer>0</integer>
746//CHECK: </dict>
747//CHECK: </array>
748//CHECK: <key>end</key>
749//CHECK: <array>
750//CHECK: <dict>
751//CHECK: <key>line</key><integer>27</integer>
752//CHECK: <key>col</key><integer>9</integer>
753//CHECK: <key>file</key><integer>0</integer>
754//CHECK: </dict>
755//CHECK: <dict>
756//CHECK: <key>line</key><integer>27</integer>
757//CHECK: <key>col</key><integer>12</integer>
758//CHECK: <key>file</key><integer>0</integer>
759//CHECK: </dict>
760//CHECK: </array>
761//CHECK: </dict>
762//CHECK: </array>
763//CHECK: </dict>
764//CHECK: <dict>
765//CHECK: <key>kind</key><string>event</string>
766//CHECK: <key>location</key>
767//CHECK: <dict>
768//CHECK: <key>line</key><integer>27</integer>
769//CHECK: <key>col</key><integer>9</integer>
770//CHECK: <key>file</key><integer>0</integer>
771//CHECK: </dict>
772//CHECK: <key>ranges</key>
773//CHECK: <array>
774//CHECK: <array>
775//CHECK: <dict>
776//CHECK: <key>line</key><integer>27</integer>
777//CHECK: <key>col</key><integer>9</integer>
778//CHECK: <key>file</key><integer>0</integer>
779//CHECK: </dict>
780//CHECK: <dict>
781//CHECK: <key>line</key><integer>27</integer>
782//CHECK: <key>col</key><integer>12</integer>
783//CHECK: <key>file</key><integer>0</integer>
784//CHECK: </dict>
785//CHECK: </array>
786//CHECK: </array>
787//CHECK: <key>depth</key><integer>0</integer>
788//CHECK: <key>extended_message</key>
789//CHECK: <string>Assuming &apos;tmp&apos; is null</string>
790//CHECK: <key>message</key>
791//CHECK: <string>Assuming &apos;tmp&apos; is null</string>
792//CHECK: </dict>
793//CHECK: <dict>
794//CHECK: <key>kind</key><string>control</string>
795//CHECK: <key>edges</key>
796//CHECK: <array>
797//CHECK: <dict>
798//CHECK: <key>start</key>
799//CHECK: <array>
800//CHECK: <dict>
801//CHECK: <key>line</key><integer>27</integer>
802//CHECK: <key>col</key><integer>9</integer>
803//CHECK: <key>file</key><integer>0</integer>
804//CHECK: </dict>
805//CHECK: <dict>
806//CHECK: <key>line</key><integer>27</integer>
807//CHECK: <key>col</key><integer>12</integer>
808//CHECK: <key>file</key><integer>0</integer>
809//CHECK: </dict>
810//CHECK: </array>
811//CHECK: <key>end</key>
812//CHECK: <array>
813//CHECK: <dict>
814//CHECK: <key>line</key><integer>27</integer>
815//CHECK: <key>col</key><integer>5</integer>
816//CHECK: <key>file</key><integer>0</integer>
817//CHECK: </dict>
818//CHECK: <dict>
819//CHECK: <key>line</key><integer>27</integer>
820//CHECK: <key>col</key><integer>6</integer>
821//CHECK: <key>file</key><integer>0</integer>
822//CHECK: </dict>
823//CHECK: </array>
824//CHECK: </dict>
825//CHECK: </array>
826//CHECK: </dict>
827//CHECK: <dict>
828//CHECK: <key>kind</key><string>event</string>
829//CHECK: <key>location</key>
830//CHECK: <dict>
831//CHECK: <key>line</key><integer>27</integer>
832//CHECK: <key>col</key><integer>5</integer>
833//CHECK: <key>file</key><integer>0</integer>
834//CHECK: </dict>
835//CHECK: <key>ranges</key>
836//CHECK: <array>
837//CHECK: <array>
838//CHECK: <dict>
839//CHECK: <key>line</key><integer>27</integer>
840//CHECK: <key>col</key><integer>5</integer>
841//CHECK: <key>file</key><integer>0</integer>
842//CHECK: </dict>
843//CHECK: <dict>
844//CHECK: <key>line</key><integer>27</integer>
845//CHECK: <key>col</key><integer>6</integer>
846//CHECK: <key>file</key><integer>0</integer>
847//CHECK: </dict>
848//CHECK: </array>
849//CHECK: </array>
850//CHECK: <key>depth</key><integer>0</integer>
851//CHECK: <key>extended_message</key>
852//CHECK: <string>Reallocation failed</string>
853//CHECK: <key>message</key>
854//CHECK: <string>Reallocation failed</string>
855//CHECK: </dict>
856//CHECK: <dict>
857//CHECK: <key>kind</key><string>control</string>
858//CHECK: <key>edges</key>
859//CHECK: <array>
860//CHECK: <dict>
861//CHECK: <key>start</key>
862//CHECK: <array>
863//CHECK: <dict>
864//CHECK: <key>line</key><integer>27</integer>
865//CHECK: <key>col</key><integer>5</integer>
866//CHECK: <key>file</key><integer>0</integer>
867//CHECK: </dict>
868//CHECK: <dict>
869//CHECK: <key>line</key><integer>27</integer>
870//CHECK: <key>col</key><integer>6</integer>
871//CHECK: <key>file</key><integer>0</integer>
872//CHECK: </dict>
873//CHECK: </array>
874//CHECK: <key>end</key>
875//CHECK: <array>
876//CHECK: <dict>
877//CHECK: <key>line</key><integer>28</integer>
878//CHECK: <key>col</key><integer>9</integer>
879//CHECK: <key>file</key><integer>0</integer>
880//CHECK: </dict>
881//CHECK: <dict>
882//CHECK: <key>line</key><integer>28</integer>
883//CHECK: <key>col</key><integer>14</integer>
884//CHECK: <key>file</key><integer>0</integer>
885//CHECK: </dict>
886//CHECK: </array>
887//CHECK: </dict>
888//CHECK: </array>
889//CHECK: </dict>
890//CHECK: <dict>
891//CHECK: <key>kind</key><string>event</string>
892//CHECK: <key>location</key>
893//CHECK: <dict>
894//CHECK: <key>line</key><integer>28</integer>
895//CHECK: <key>col</key><integer>9</integer>
896//CHECK: <key>file</key><integer>0</integer>
897//CHECK: </dict>
Anna Zaks0b3ade82012-04-20 21:59:08 +0000898//CHECK: <key>depth</key><integer>0</integer>
899//CHECK: <key>extended_message</key>
900//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;buf&apos;</string>
901//CHECK: <key>message</key>
902//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;buf&apos;</string>
903//CHECK: </dict>
904//CHECK: </array>
905//CHECK: <key>description</key><string>Memory is never released; potential leak of memory pointed to by &apos;buf&apos;</string>
906//CHECK: <key>category</key><string>Memory Error</string>
907//CHECK: <key>type</key><string>Memory leak</string>
908//CHECK: <key>issue_context_kind</key><string>function</string>
909//CHECK: <key>issue_context</key><string>reallocDiagnostics</string>
910//CHECK: <key>location</key>
911//CHECK: <dict>
912//CHECK: <key>line</key><integer>28</integer>
913//CHECK: <key>col</key><integer>9</integer>
914//CHECK: <key>file</key><integer>0</integer>
915//CHECK: </dict>
916//CHECK: </dict>
917//CHECK: <dict>
918//CHECK: <key>path</key>
919//CHECK: <array>
920//CHECK: <dict>
921//CHECK: <key>kind</key><string>control</string>
922//CHECK: <key>edges</key>
923//CHECK: <array>
924//CHECK: <dict>
925//CHECK: <key>start</key>
926//CHECK: <array>
927//CHECK: <dict>
928//CHECK: <key>line</key><integer>43</integer>
929//CHECK: <key>col</key><integer>3</integer>
930//CHECK: <key>file</key><integer>0</integer>
931//CHECK: </dict>
932//CHECK: <dict>
933//CHECK: <key>line</key><integer>43</integer>
934//CHECK: <key>col</key><integer>3</integer>
935//CHECK: <key>file</key><integer>0</integer>
936//CHECK: </dict>
937//CHECK: </array>
938//CHECK: <key>end</key>
939//CHECK: <array>
940//CHECK: <dict>
941//CHECK: <key>line</key><integer>43</integer>
942//CHECK: <key>col</key><integer>15</integer>
943//CHECK: <key>file</key><integer>0</integer>
944//CHECK: </dict>
945//CHECK: <dict>
946//CHECK: <key>line</key><integer>43</integer>
947//CHECK: <key>col</key><integer>15</integer>
948//CHECK: <key>file</key><integer>0</integer>
949//CHECK: </dict>
950//CHECK: </array>
951//CHECK: </dict>
952//CHECK: </array>
953//CHECK: </dict>
954//CHECK: <dict>
955//CHECK: <key>kind</key><string>event</string>
956//CHECK: <key>location</key>
957//CHECK: <dict>
958//CHECK: <key>line</key><integer>43</integer>
959//CHECK: <key>col</key><integer>15</integer>
960//CHECK: <key>file</key><integer>0</integer>
961//CHECK: </dict>
962//CHECK: <key>ranges</key>
963//CHECK: <array>
964//CHECK: <array>
965//CHECK: <dict>
966//CHECK: <key>line</key><integer>43</integer>
967//CHECK: <key>col</key><integer>15</integer>
968//CHECK: <key>file</key><integer>0</integer>
969//CHECK: </dict>
970//CHECK: <dict>
971//CHECK: <key>line</key><integer>43</integer>
972//CHECK: <key>col</key><integer>23</integer>
973//CHECK: <key>file</key><integer>0</integer>
974//CHECK: </dict>
975//CHECK: </array>
976//CHECK: </array>
977//CHECK: <key>depth</key><integer>0</integer>
978//CHECK: <key>extended_message</key>
979//CHECK: <string>Calling &apos;wrapper&apos;</string>
980//CHECK: <key>message</key>
981//CHECK: <string>Calling &apos;wrapper&apos;</string>
982//CHECK: </dict>
983//CHECK: <dict>
984//CHECK: <key>kind</key><string>event</string>
985//CHECK: <key>location</key>
986//CHECK: <dict>
987//CHECK: <key>line</key><integer>34</integer>
988//CHECK: <key>col</key><integer>1</integer>
989//CHECK: <key>file</key><integer>0</integer>
990//CHECK: </dict>
991//CHECK: <key>depth</key><integer>1</integer>
992//CHECK: <key>extended_message</key>
993//CHECK: <string>Entered call from &apos;test_wrapper&apos;</string>
994//CHECK: <key>message</key>
995//CHECK: <string>Entered call from &apos;test_wrapper&apos;</string>
996//CHECK: </dict>
997//CHECK: <dict>
998//CHECK: <key>kind</key><string>control</string>
999//CHECK: <key>edges</key>
1000//CHECK: <array>
1001//CHECK: <dict>
1002//CHECK: <key>start</key>
1003//CHECK: <array>
1004//CHECK: <dict>
1005//CHECK: <key>line</key><integer>34</integer>
1006//CHECK: <key>col</key><integer>1</integer>
1007//CHECK: <key>file</key><integer>0</integer>
1008//CHECK: </dict>
1009//CHECK: <dict>
1010//CHECK: <key>line</key><integer>34</integer>
1011//CHECK: <key>col</key><integer>1</integer>
1012//CHECK: <key>file</key><integer>0</integer>
1013//CHECK: </dict>
1014//CHECK: </array>
1015//CHECK: <key>end</key>
1016//CHECK: <array>
1017//CHECK: <dict>
1018//CHECK: <key>line</key><integer>35</integer>
1019//CHECK: <key>col</key><integer>3</integer>
1020//CHECK: <key>file</key><integer>0</integer>
1021//CHECK: </dict>
1022//CHECK: <dict>
1023//CHECK: <key>line</key><integer>35</integer>
1024//CHECK: <key>col</key><integer>3</integer>
1025//CHECK: <key>file</key><integer>0</integer>
1026//CHECK: </dict>
1027//CHECK: </array>
1028//CHECK: </dict>
1029//CHECK: </array>
1030//CHECK: </dict>
1031//CHECK: <dict>
1032//CHECK: <key>kind</key><string>control</string>
1033//CHECK: <key>edges</key>
1034//CHECK: <array>
1035//CHECK: <dict>
1036//CHECK: <key>start</key>
1037//CHECK: <array>
1038//CHECK: <dict>
1039//CHECK: <key>line</key><integer>35</integer>
1040//CHECK: <key>col</key><integer>3</integer>
1041//CHECK: <key>file</key><integer>0</integer>
1042//CHECK: </dict>
1043//CHECK: <dict>
1044//CHECK: <key>line</key><integer>35</integer>
1045//CHECK: <key>col</key><integer>3</integer>
1046//CHECK: <key>file</key><integer>0</integer>
1047//CHECK: </dict>
1048//CHECK: </array>
1049//CHECK: <key>end</key>
1050//CHECK: <array>
1051//CHECK: <dict>
1052//CHECK: <key>line</key><integer>35</integer>
1053//CHECK: <key>col</key><integer>13</integer>
1054//CHECK: <key>file</key><integer>0</integer>
1055//CHECK: </dict>
1056//CHECK: <dict>
1057//CHECK: <key>line</key><integer>35</integer>
1058//CHECK: <key>col</key><integer>23</integer>
1059//CHECK: <key>file</key><integer>0</integer>
1060//CHECK: </dict>
1061//CHECK: </array>
1062//CHECK: </dict>
1063//CHECK: </array>
1064//CHECK: </dict>
1065//CHECK: <dict>
1066//CHECK: <key>kind</key><string>event</string>
1067//CHECK: <key>location</key>
1068//CHECK: <dict>
1069//CHECK: <key>line</key><integer>35</integer>
1070//CHECK: <key>col</key><integer>13</integer>
1071//CHECK: <key>file</key><integer>0</integer>
1072//CHECK: </dict>
1073//CHECK: <key>ranges</key>
1074//CHECK: <array>
1075//CHECK: <array>
1076//CHECK: <dict>
1077//CHECK: <key>line</key><integer>35</integer>
1078//CHECK: <key>col</key><integer>13</integer>
1079//CHECK: <key>file</key><integer>0</integer>
1080//CHECK: </dict>
1081//CHECK: <dict>
1082//CHECK: <key>line</key><integer>35</integer>
1083//CHECK: <key>col</key><integer>23</integer>
1084//CHECK: <key>file</key><integer>0</integer>
1085//CHECK: </dict>
1086//CHECK: </array>
1087//CHECK: </array>
1088//CHECK: <key>depth</key><integer>1</integer>
1089//CHECK: <key>extended_message</key>
1090//CHECK: <string>Memory is allocated</string>
1091//CHECK: <key>message</key>
1092//CHECK: <string>Memory is allocated</string>
1093//CHECK: </dict>
1094//CHECK: <dict>
1095//CHECK: <key>kind</key><string>control</string>
1096//CHECK: <key>edges</key>
1097//CHECK: <array>
1098//CHECK: <dict>
1099//CHECK: <key>start</key>
1100//CHECK: <array>
1101//CHECK: <dict>
1102//CHECK: <key>line</key><integer>35</integer>
1103//CHECK: <key>col</key><integer>13</integer>
1104//CHECK: <key>file</key><integer>0</integer>
1105//CHECK: </dict>
1106//CHECK: <dict>
1107//CHECK: <key>line</key><integer>35</integer>
1108//CHECK: <key>col</key><integer>23</integer>
1109//CHECK: <key>file</key><integer>0</integer>
1110//CHECK: </dict>
1111//CHECK: </array>
1112//CHECK: <key>end</key>
1113//CHECK: <array>
1114//CHECK: <dict>
1115//CHECK: <key>line</key><integer>37</integer>
1116//CHECK: <key>col</key><integer>3</integer>
1117//CHECK: <key>file</key><integer>0</integer>
1118//CHECK: </dict>
1119//CHECK: <dict>
1120//CHECK: <key>line</key><integer>37</integer>
1121//CHECK: <key>col</key><integer>3</integer>
1122//CHECK: <key>file</key><integer>0</integer>
1123//CHECK: </dict>
1124//CHECK: </array>
1125//CHECK: </dict>
1126//CHECK: </array>
1127//CHECK: </dict>
1128//CHECK: <dict>
1129//CHECK: <key>kind</key><string>control</string>
1130//CHECK: <key>edges</key>
1131//CHECK: <array>
1132//CHECK: <dict>
1133//CHECK: <key>start</key>
1134//CHECK: <array>
1135//CHECK: <dict>
1136//CHECK: <key>line</key><integer>37</integer>
1137//CHECK: <key>col</key><integer>3</integer>
1138//CHECK: <key>file</key><integer>0</integer>
1139//CHECK: </dict>
1140//CHECK: <dict>
1141//CHECK: <key>line</key><integer>37</integer>
1142//CHECK: <key>col</key><integer>3</integer>
1143//CHECK: <key>file</key><integer>0</integer>
1144//CHECK: </dict>
1145//CHECK: </array>
1146//CHECK: <key>end</key>
1147//CHECK: <array>
1148//CHECK: <dict>
1149//CHECK: <key>line</key><integer>37</integer>
1150//CHECK: <key>col</key><integer>7</integer>
1151//CHECK: <key>file</key><integer>0</integer>
1152//CHECK: </dict>
1153//CHECK: <dict>
1154//CHECK: <key>line</key><integer>37</integer>
1155//CHECK: <key>col</key><integer>7</integer>
1156//CHECK: <key>file</key><integer>0</integer>
1157//CHECK: </dict>
1158//CHECK: </array>
1159//CHECK: </dict>
1160//CHECK: </array>
1161//CHECK: </dict>
1162//CHECK: <dict>
1163//CHECK: <key>kind</key><string>event</string>
1164//CHECK: <key>location</key>
1165//CHECK: <dict>
1166//CHECK: <key>line</key><integer>37</integer>
1167//CHECK: <key>col</key><integer>7</integer>
1168//CHECK: <key>file</key><integer>0</integer>
1169//CHECK: </dict>
1170//CHECK: <key>ranges</key>
1171//CHECK: <array>
1172//CHECK: <array>
1173//CHECK: <dict>
1174//CHECK: <key>line</key><integer>37</integer>
1175//CHECK: <key>col</key><integer>7</integer>
1176//CHECK: <key>file</key><integer>0</integer>
1177//CHECK: </dict>
1178//CHECK: <dict>
1179//CHECK: <key>line</key><integer>37</integer>
1180//CHECK: <key>col</key><integer>7</integer>
1181//CHECK: <key>file</key><integer>0</integer>
1182//CHECK: </dict>
1183//CHECK: </array>
1184//CHECK: </array>
1185//CHECK: <key>depth</key><integer>1</integer>
1186//CHECK: <key>extended_message</key>
1187//CHECK: <string>Assuming &apos;x&apos; is non-null</string>
1188//CHECK: <key>message</key>
1189//CHECK: <string>Assuming &apos;x&apos; is non-null</string>
1190//CHECK: </dict>
1191//CHECK: <dict>
1192//CHECK: <key>kind</key><string>control</string>
1193//CHECK: <key>edges</key>
1194//CHECK: <array>
1195//CHECK: <dict>
1196//CHECK: <key>start</key>
1197//CHECK: <array>
1198//CHECK: <dict>
1199//CHECK: <key>line</key><integer>37</integer>
1200//CHECK: <key>col</key><integer>7</integer>
1201//CHECK: <key>file</key><integer>0</integer>
1202//CHECK: </dict>
1203//CHECK: <dict>
1204//CHECK: <key>line</key><integer>37</integer>
1205//CHECK: <key>col</key><integer>7</integer>
1206//CHECK: <key>file</key><integer>0</integer>
1207//CHECK: </dict>
1208//CHECK: </array>
1209//CHECK: <key>end</key>
1210//CHECK: <array>
1211//CHECK: <dict>
1212//CHECK: <key>line</key><integer>38</integer>
1213//CHECK: <key>col</key><integer>5</integer>
1214//CHECK: <key>file</key><integer>0</integer>
1215//CHECK: </dict>
1216//CHECK: <dict>
1217//CHECK: <key>line</key><integer>38</integer>
1218//CHECK: <key>col</key><integer>5</integer>
1219//CHECK: <key>file</key><integer>0</integer>
1220//CHECK: </dict>
1221//CHECK: </array>
1222//CHECK: </dict>
1223//CHECK: </array>
1224//CHECK: </dict>
1225//CHECK: <dict>
1226//CHECK: <key>kind</key><string>event</string>
1227//CHECK: <key>location</key>
1228//CHECK: <dict>
1229//CHECK: <key>line</key><integer>43</integer>
1230//CHECK: <key>col</key><integer>15</integer>
1231//CHECK: <key>file</key><integer>0</integer>
1232//CHECK: </dict>
1233//CHECK: <key>ranges</key>
1234//CHECK: <array>
1235//CHECK: <array>
1236//CHECK: <dict>
1237//CHECK: <key>line</key><integer>43</integer>
1238//CHECK: <key>col</key><integer>15</integer>
1239//CHECK: <key>file</key><integer>0</integer>
1240//CHECK: </dict>
1241//CHECK: <dict>
1242//CHECK: <key>line</key><integer>43</integer>
1243//CHECK: <key>col</key><integer>23</integer>
1244//CHECK: <key>file</key><integer>0</integer>
1245//CHECK: </dict>
1246//CHECK: </array>
1247//CHECK: </array>
1248//CHECK: <key>depth</key><integer>1</integer>
1249//CHECK: <key>extended_message</key>
1250//CHECK: <string>Returned allocated memory</string>
1251//CHECK: <key>message</key>
1252//CHECK: <string>Returned allocated memory</string>
1253//CHECK: </dict>
1254//CHECK: <dict>
1255//CHECK: <key>kind</key><string>control</string>
1256//CHECK: <key>edges</key>
1257//CHECK: <array>
1258//CHECK: <dict>
1259//CHECK: <key>start</key>
1260//CHECK: <array>
1261//CHECK: <dict>
1262//CHECK: <key>line</key><integer>43</integer>
1263//CHECK: <key>col</key><integer>15</integer>
1264//CHECK: <key>file</key><integer>0</integer>
1265//CHECK: </dict>
1266//CHECK: <dict>
1267//CHECK: <key>line</key><integer>43</integer>
1268//CHECK: <key>col</key><integer>23</integer>
1269//CHECK: <key>file</key><integer>0</integer>
1270//CHECK: </dict>
1271//CHECK: </array>
1272//CHECK: <key>end</key>
1273//CHECK: <array>
1274//CHECK: <dict>
1275//CHECK: <key>line</key><integer>45</integer>
1276//CHECK: <key>col</key><integer>1</integer>
1277//CHECK: <key>file</key><integer>0</integer>
1278//CHECK: </dict>
1279//CHECK: <dict>
1280//CHECK: <key>line</key><integer>45</integer>
1281//CHECK: <key>col</key><integer>1</integer>
1282//CHECK: <key>file</key><integer>0</integer>
1283//CHECK: </dict>
1284//CHECK: </array>
1285//CHECK: </dict>
1286//CHECK: </array>
1287//CHECK: </dict>
1288//CHECK: <dict>
1289//CHECK: <key>kind</key><string>event</string>
1290//CHECK: <key>location</key>
1291//CHECK: <dict>
1292//CHECK: <key>line</key><integer>45</integer>
1293//CHECK: <key>col</key><integer>1</integer>
1294//CHECK: <key>file</key><integer>0</integer>
1295//CHECK: </dict>
1296//CHECK: <key>depth</key><integer>0</integer>
1297//CHECK: <key>extended_message</key>
1298//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;buf&apos;</string>
1299//CHECK: <key>message</key>
1300//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;buf&apos;</string>
1301//CHECK: </dict>
1302//CHECK: </array>
1303//CHECK: <key>description</key><string>Memory is never released; potential leak of memory pointed to by &apos;buf&apos;</string>
1304//CHECK: <key>category</key><string>Memory Error</string>
1305//CHECK: <key>type</key><string>Memory leak</string>
1306//CHECK: <key>issue_context_kind</key><string>function</string>
1307//CHECK: <key>issue_context</key><string>test_wrapper</string>
1308//CHECK: <key>location</key>
1309//CHECK: <dict>
1310//CHECK: <key>line</key><integer>45</integer>
1311//CHECK: <key>col</key><integer>1</integer>
1312//CHECK: <key>file</key><integer>0</integer>
1313//CHECK: </dict>
1314//CHECK: </dict>
1315//CHECK: <dict>
1316//CHECK: <key>path</key>
1317//CHECK: <array>
1318//CHECK: <dict>
1319//CHECK: <key>kind</key><string>control</string>
1320//CHECK: <key>edges</key>
1321//CHECK: <array>
1322//CHECK: <dict>
1323//CHECK: <key>start</key>
1324//CHECK: <array>
1325//CHECK: <dict>
1326//CHECK: <key>line</key><integer>59</integer>
1327//CHECK: <key>col</key><integer>5</integer>
1328//CHECK: <key>file</key><integer>0</integer>
1329//CHECK: </dict>
1330//CHECK: <dict>
1331//CHECK: <key>line</key><integer>59</integer>
1332//CHECK: <key>col</key><integer>5</integer>
1333//CHECK: <key>file</key><integer>0</integer>
1334//CHECK: </dict>
1335//CHECK: </array>
1336//CHECK: <key>end</key>
1337//CHECK: <array>
1338//CHECK: <dict>
1339//CHECK: <key>line</key><integer>60</integer>
1340//CHECK: <key>col</key><integer>5</integer>
1341//CHECK: <key>file</key><integer>0</integer>
1342//CHECK: </dict>
1343//CHECK: <dict>
1344//CHECK: <key>line</key><integer>60</integer>
1345//CHECK: <key>col</key><integer>5</integer>
1346//CHECK: <key>file</key><integer>0</integer>
1347//CHECK: </dict>
1348//CHECK: </array>
1349//CHECK: </dict>
1350//CHECK: </array>
1351//CHECK: </dict>
1352//CHECK: <dict>
1353//CHECK: <key>kind</key><string>event</string>
1354//CHECK: <key>location</key>
1355//CHECK: <dict>
1356//CHECK: <key>line</key><integer>60</integer>
1357//CHECK: <key>col</key><integer>5</integer>
1358//CHECK: <key>file</key><integer>0</integer>
1359//CHECK: </dict>
1360//CHECK: <key>ranges</key>
1361//CHECK: <array>
1362//CHECK: <array>
1363//CHECK: <dict>
1364//CHECK: <key>line</key><integer>60</integer>
1365//CHECK: <key>col</key><integer>5</integer>
1366//CHECK: <key>file</key><integer>0</integer>
1367//CHECK: </dict>
1368//CHECK: <dict>
1369//CHECK: <key>line</key><integer>60</integer>
1370//CHECK: <key>col</key><integer>28</integer>
1371//CHECK: <key>file</key><integer>0</integer>
1372//CHECK: </dict>
1373//CHECK: </array>
1374//CHECK: </array>
1375//CHECK: <key>depth</key><integer>0</integer>
1376//CHECK: <key>extended_message</key>
1377//CHECK: <string>Calling &apos;my_malloc_and_free&apos;</string>
1378//CHECK: <key>message</key>
1379//CHECK: <string>Calling &apos;my_malloc_and_free&apos;</string>
1380//CHECK: </dict>
1381//CHECK: <dict>
1382//CHECK: <key>kind</key><string>event</string>
1383//CHECK: <key>location</key>
1384//CHECK: <dict>
1385//CHECK: <key>line</key><integer>52</integer>
1386//CHECK: <key>col</key><integer>1</integer>
1387//CHECK: <key>file</key><integer>0</integer>
1388//CHECK: </dict>
1389//CHECK: <key>depth</key><integer>1</integer>
1390//CHECK: <key>extended_message</key>
1391//CHECK: <string>Entered call from &apos;test_double_action_call&apos;</string>
1392//CHECK: <key>message</key>
1393//CHECK: <string>Entered call from &apos;test_double_action_call&apos;</string>
1394//CHECK: </dict>
1395//CHECK: <dict>
1396//CHECK: <key>kind</key><string>control</string>
1397//CHECK: <key>edges</key>
1398//CHECK: <array>
1399//CHECK: <dict>
1400//CHECK: <key>start</key>
1401//CHECK: <array>
1402//CHECK: <dict>
1403//CHECK: <key>line</key><integer>52</integer>
1404//CHECK: <key>col</key><integer>1</integer>
1405//CHECK: <key>file</key><integer>0</integer>
1406//CHECK: </dict>
1407//CHECK: <dict>
1408//CHECK: <key>line</key><integer>52</integer>
1409//CHECK: <key>col</key><integer>1</integer>
1410//CHECK: <key>file</key><integer>0</integer>
1411//CHECK: </dict>
1412//CHECK: </array>
1413//CHECK: <key>end</key>
1414//CHECK: <array>
1415//CHECK: <dict>
1416//CHECK: <key>line</key><integer>53</integer>
1417//CHECK: <key>col</key><integer>5</integer>
1418//CHECK: <key>file</key><integer>0</integer>
1419//CHECK: </dict>
1420//CHECK: <dict>
1421//CHECK: <key>line</key><integer>53</integer>
1422//CHECK: <key>col</key><integer>5</integer>
1423//CHECK: <key>file</key><integer>0</integer>
1424//CHECK: </dict>
1425//CHECK: </array>
1426//CHECK: </dict>
1427//CHECK: </array>
1428//CHECK: </dict>
1429//CHECK: <dict>
1430//CHECK: <key>kind</key><string>control</string>
1431//CHECK: <key>edges</key>
1432//CHECK: <array>
1433//CHECK: <dict>
1434//CHECK: <key>start</key>
1435//CHECK: <array>
1436//CHECK: <dict>
1437//CHECK: <key>line</key><integer>53</integer>
1438//CHECK: <key>col</key><integer>5</integer>
1439//CHECK: <key>file</key><integer>0</integer>
1440//CHECK: </dict>
1441//CHECK: <dict>
1442//CHECK: <key>line</key><integer>53</integer>
1443//CHECK: <key>col</key><integer>5</integer>
1444//CHECK: <key>file</key><integer>0</integer>
1445//CHECK: </dict>
1446//CHECK: </array>
1447//CHECK: <key>end</key>
1448//CHECK: <array>
1449//CHECK: <dict>
1450//CHECK: <key>line</key><integer>53</integer>
1451//CHECK: <key>col</key><integer>10</integer>
1452//CHECK: <key>file</key><integer>0</integer>
1453//CHECK: </dict>
1454//CHECK: <dict>
1455//CHECK: <key>line</key><integer>53</integer>
1456//CHECK: <key>col</key><integer>20</integer>
1457//CHECK: <key>file</key><integer>0</integer>
1458//CHECK: </dict>
1459//CHECK: </array>
1460//CHECK: </dict>
1461//CHECK: </array>
1462//CHECK: </dict>
1463//CHECK: <dict>
1464//CHECK: <key>kind</key><string>event</string>
1465//CHECK: <key>location</key>
1466//CHECK: <dict>
1467//CHECK: <key>line</key><integer>53</integer>
1468//CHECK: <key>col</key><integer>10</integer>
1469//CHECK: <key>file</key><integer>0</integer>
1470//CHECK: </dict>
1471//CHECK: <key>ranges</key>
1472//CHECK: <array>
1473//CHECK: <array>
1474//CHECK: <dict>
1475//CHECK: <key>line</key><integer>53</integer>
1476//CHECK: <key>col</key><integer>10</integer>
1477//CHECK: <key>file</key><integer>0</integer>
1478//CHECK: </dict>
1479//CHECK: <dict>
1480//CHECK: <key>line</key><integer>53</integer>
1481//CHECK: <key>col</key><integer>20</integer>
1482//CHECK: <key>file</key><integer>0</integer>
1483//CHECK: </dict>
1484//CHECK: </array>
1485//CHECK: </array>
1486//CHECK: <key>depth</key><integer>1</integer>
1487//CHECK: <key>extended_message</key>
1488//CHECK: <string>Memory is allocated</string>
1489//CHECK: <key>message</key>
1490//CHECK: <string>Memory is allocated</string>
1491//CHECK: </dict>
1492//CHECK: <dict>
1493//CHECK: <key>kind</key><string>control</string>
1494//CHECK: <key>edges</key>
1495//CHECK: <array>
1496//CHECK: <dict>
1497//CHECK: <key>start</key>
1498//CHECK: <array>
1499//CHECK: <dict>
1500//CHECK: <key>line</key><integer>53</integer>
1501//CHECK: <key>col</key><integer>10</integer>
1502//CHECK: <key>file</key><integer>0</integer>
1503//CHECK: </dict>
1504//CHECK: <dict>
1505//CHECK: <key>line</key><integer>53</integer>
1506//CHECK: <key>col</key><integer>20</integer>
1507//CHECK: <key>file</key><integer>0</integer>
1508//CHECK: </dict>
1509//CHECK: </array>
1510//CHECK: <key>end</key>
1511//CHECK: <array>
1512//CHECK: <dict>
1513//CHECK: <key>line</key><integer>54</integer>
1514//CHECK: <key>col</key><integer>5</integer>
1515//CHECK: <key>file</key><integer>0</integer>
1516//CHECK: </dict>
1517//CHECK: <dict>
1518//CHECK: <key>line</key><integer>54</integer>
1519//CHECK: <key>col</key><integer>5</integer>
1520//CHECK: <key>file</key><integer>0</integer>
1521//CHECK: </dict>
1522//CHECK: </array>
1523//CHECK: </dict>
1524//CHECK: </array>
1525//CHECK: </dict>
1526//CHECK: <dict>
1527//CHECK: <key>kind</key><string>control</string>
1528//CHECK: <key>edges</key>
1529//CHECK: <array>
1530//CHECK: <dict>
1531//CHECK: <key>start</key>
1532//CHECK: <array>
1533//CHECK: <dict>
1534//CHECK: <key>line</key><integer>54</integer>
1535//CHECK: <key>col</key><integer>5</integer>
1536//CHECK: <key>file</key><integer>0</integer>
1537//CHECK: </dict>
1538//CHECK: <dict>
1539//CHECK: <key>line</key><integer>54</integer>
1540//CHECK: <key>col</key><integer>5</integer>
1541//CHECK: <key>file</key><integer>0</integer>
1542//CHECK: </dict>
1543//CHECK: </array>
1544//CHECK: <key>end</key>
1545//CHECK: <array>
1546//CHECK: <dict>
1547//CHECK: <key>line</key><integer>55</integer>
1548//CHECK: <key>col</key><integer>7</integer>
1549//CHECK: <key>file</key><integer>0</integer>
1550//CHECK: </dict>
1551//CHECK: <dict>
1552//CHECK: <key>line</key><integer>55</integer>
1553//CHECK: <key>col</key><integer>7</integer>
1554//CHECK: <key>file</key><integer>0</integer>
1555//CHECK: </dict>
1556//CHECK: </array>
1557//CHECK: </dict>
1558//CHECK: </array>
1559//CHECK: </dict>
1560//CHECK: <dict>
1561//CHECK: <key>kind</key><string>event</string>
1562//CHECK: <key>location</key>
1563//CHECK: <dict>
1564//CHECK: <key>line</key><integer>55</integer>
1565//CHECK: <key>col</key><integer>7</integer>
1566//CHECK: <key>file</key><integer>0</integer>
1567//CHECK: </dict>
1568//CHECK: <key>ranges</key>
1569//CHECK: <array>
1570//CHECK: <array>
1571//CHECK: <dict>
1572//CHECK: <key>line</key><integer>55</integer>
1573//CHECK: <key>col</key><integer>7</integer>
1574//CHECK: <key>file</key><integer>0</integer>
1575//CHECK: </dict>
1576//CHECK: <dict>
1577//CHECK: <key>line</key><integer>55</integer>
1578//CHECK: <key>col</key><integer>17</integer>
1579//CHECK: <key>file</key><integer>0</integer>
1580//CHECK: </dict>
1581//CHECK: </array>
1582//CHECK: </array>
1583//CHECK: <key>depth</key><integer>1</integer>
1584//CHECK: <key>extended_message</key>
1585//CHECK: <string>Calling &apos;my_free&apos;</string>
1586//CHECK: <key>message</key>
1587//CHECK: <string>Calling &apos;my_free&apos;</string>
1588//CHECK: </dict>
1589//CHECK: <dict>
1590//CHECK: <key>kind</key><string>event</string>
1591//CHECK: <key>location</key>
1592//CHECK: <dict>
1593//CHECK: <key>line</key><integer>49</integer>
1594//CHECK: <key>col</key><integer>1</integer>
1595//CHECK: <key>file</key><integer>0</integer>
1596//CHECK: </dict>
1597//CHECK: <key>depth</key><integer>2</integer>
1598//CHECK: <key>extended_message</key>
1599//CHECK: <string>Entered call from &apos;my_malloc_and_free&apos;</string>
1600//CHECK: <key>message</key>
1601//CHECK: <string>Entered call from &apos;my_malloc_and_free&apos;</string>
1602//CHECK: </dict>
1603//CHECK: <dict>
1604//CHECK: <key>kind</key><string>control</string>
1605//CHECK: <key>edges</key>
1606//CHECK: <array>
1607//CHECK: <dict>
1608//CHECK: <key>start</key>
1609//CHECK: <array>
1610//CHECK: <dict>
1611//CHECK: <key>line</key><integer>49</integer>
1612//CHECK: <key>col</key><integer>1</integer>
1613//CHECK: <key>file</key><integer>0</integer>
1614//CHECK: </dict>
1615//CHECK: <dict>
1616//CHECK: <key>line</key><integer>49</integer>
1617//CHECK: <key>col</key><integer>1</integer>
1618//CHECK: <key>file</key><integer>0</integer>
1619//CHECK: </dict>
1620//CHECK: </array>
1621//CHECK: <key>end</key>
1622//CHECK: <array>
1623//CHECK: <dict>
1624//CHECK: <key>line</key><integer>50</integer>
1625//CHECK: <key>col</key><integer>5</integer>
1626//CHECK: <key>file</key><integer>0</integer>
1627//CHECK: </dict>
1628//CHECK: <dict>
1629//CHECK: <key>line</key><integer>50</integer>
1630//CHECK: <key>col</key><integer>11</integer>
1631//CHECK: <key>file</key><integer>0</integer>
1632//CHECK: </dict>
1633//CHECK: </array>
1634//CHECK: </dict>
1635//CHECK: </array>
1636//CHECK: </dict>
1637//CHECK: <dict>
1638//CHECK: <key>kind</key><string>event</string>
1639//CHECK: <key>location</key>
1640//CHECK: <dict>
1641//CHECK: <key>line</key><integer>50</integer>
1642//CHECK: <key>col</key><integer>5</integer>
1643//CHECK: <key>file</key><integer>0</integer>
1644//CHECK: </dict>
1645//CHECK: <key>ranges</key>
1646//CHECK: <array>
1647//CHECK: <array>
1648//CHECK: <dict>
1649//CHECK: <key>line</key><integer>50</integer>
1650//CHECK: <key>col</key><integer>5</integer>
1651//CHECK: <key>file</key><integer>0</integer>
1652//CHECK: </dict>
1653//CHECK: <dict>
1654//CHECK: <key>line</key><integer>50</integer>
1655//CHECK: <key>col</key><integer>11</integer>
1656//CHECK: <key>file</key><integer>0</integer>
1657//CHECK: </dict>
1658//CHECK: </array>
1659//CHECK: </array>
1660//CHECK: <key>depth</key><integer>2</integer>
1661//CHECK: <key>extended_message</key>
1662//CHECK: <string>Memory is released</string>
1663//CHECK: <key>message</key>
1664//CHECK: <string>Memory is released</string>
1665//CHECK: </dict>
1666//CHECK: <dict>
1667//CHECK: <key>kind</key><string>event</string>
1668//CHECK: <key>location</key>
1669//CHECK: <dict>
1670//CHECK: <key>line</key><integer>55</integer>
1671//CHECK: <key>col</key><integer>7</integer>
1672//CHECK: <key>file</key><integer>0</integer>
1673//CHECK: </dict>
1674//CHECK: <key>ranges</key>
1675//CHECK: <array>
1676//CHECK: <array>
1677//CHECK: <dict>
1678//CHECK: <key>line</key><integer>55</integer>
1679//CHECK: <key>col</key><integer>7</integer>
1680//CHECK: <key>file</key><integer>0</integer>
1681//CHECK: </dict>
1682//CHECK: <dict>
1683//CHECK: <key>line</key><integer>55</integer>
1684//CHECK: <key>col</key><integer>17</integer>
1685//CHECK: <key>file</key><integer>0</integer>
1686//CHECK: </dict>
1687//CHECK: </array>
1688//CHECK: </array>
1689//CHECK: <key>depth</key><integer>2</integer>
1690//CHECK: <key>extended_message</key>
1691//CHECK: <string>Returned released memory via 1st parameter</string>
1692//CHECK: <key>message</key>
1693//CHECK: <string>Returned released memory via 1st parameter</string>
1694//CHECK: </dict>
1695//CHECK: <dict>
1696//CHECK: <key>kind</key><string>control</string>
1697//CHECK: <key>edges</key>
1698//CHECK: <array>
1699//CHECK: <dict>
1700//CHECK: <key>start</key>
1701//CHECK: <array>
1702//CHECK: <dict>
1703//CHECK: <key>line</key><integer>55</integer>
1704//CHECK: <key>col</key><integer>7</integer>
1705//CHECK: <key>file</key><integer>0</integer>
1706//CHECK: </dict>
1707//CHECK: <dict>
1708//CHECK: <key>line</key><integer>55</integer>
1709//CHECK: <key>col</key><integer>17</integer>
1710//CHECK: <key>file</key><integer>0</integer>
1711//CHECK: </dict>
1712//CHECK: </array>
1713//CHECK: <key>end</key>
1714//CHECK: <array>
1715//CHECK: <dict>
1716//CHECK: <key>line</key><integer>56</integer>
1717//CHECK: <key>col</key><integer>5</integer>
1718//CHECK: <key>file</key><integer>0</integer>
1719//CHECK: </dict>
1720//CHECK: <dict>
1721//CHECK: <key>line</key><integer>56</integer>
1722//CHECK: <key>col</key><integer>5</integer>
1723//CHECK: <key>file</key><integer>0</integer>
1724//CHECK: </dict>
1725//CHECK: </array>
1726//CHECK: </dict>
1727//CHECK: </array>
1728//CHECK: </dict>
1729//CHECK: <dict>
1730//CHECK: <key>kind</key><string>event</string>
1731//CHECK: <key>location</key>
1732//CHECK: <dict>
1733//CHECK: <key>line</key><integer>60</integer>
1734//CHECK: <key>col</key><integer>5</integer>
1735//CHECK: <key>file</key><integer>0</integer>
1736//CHECK: </dict>
1737//CHECK: <key>ranges</key>
1738//CHECK: <array>
1739//CHECK: <array>
1740//CHECK: <dict>
1741//CHECK: <key>line</key><integer>60</integer>
1742//CHECK: <key>col</key><integer>5</integer>
1743//CHECK: <key>file</key><integer>0</integer>
1744//CHECK: </dict>
1745//CHECK: <dict>
1746//CHECK: <key>line</key><integer>60</integer>
1747//CHECK: <key>col</key><integer>28</integer>
1748//CHECK: <key>file</key><integer>0</integer>
1749//CHECK: </dict>
1750//CHECK: </array>
1751//CHECK: </array>
1752//CHECK: <key>depth</key><integer>1</integer>
1753//CHECK: <key>extended_message</key>
1754//CHECK: <string>Returned released memory via 1st parameter</string>
1755//CHECK: <key>message</key>
1756//CHECK: <string>Returned released memory via 1st parameter</string>
1757//CHECK: </dict>
1758//CHECK: <dict>
1759//CHECK: <key>kind</key><string>control</string>
1760//CHECK: <key>edges</key>
1761//CHECK: <array>
1762//CHECK: <dict>
1763//CHECK: <key>start</key>
1764//CHECK: <array>
1765//CHECK: <dict>
1766//CHECK: <key>line</key><integer>60</integer>
1767//CHECK: <key>col</key><integer>5</integer>
1768//CHECK: <key>file</key><integer>0</integer>
1769//CHECK: </dict>
1770//CHECK: <dict>
1771//CHECK: <key>line</key><integer>60</integer>
1772//CHECK: <key>col</key><integer>28</integer>
1773//CHECK: <key>file</key><integer>0</integer>
1774//CHECK: </dict>
1775//CHECK: </array>
1776//CHECK: <key>end</key>
1777//CHECK: <array>
1778//CHECK: <dict>
1779//CHECK: <key>line</key><integer>61</integer>
1780//CHECK: <key>col</key><integer>5</integer>
1781//CHECK: <key>file</key><integer>0</integer>
1782//CHECK: </dict>
1783//CHECK: <dict>
1784//CHECK: <key>line</key><integer>61</integer>
1785//CHECK: <key>col</key><integer>14</integer>
1786//CHECK: <key>file</key><integer>0</integer>
1787//CHECK: </dict>
1788//CHECK: </array>
1789//CHECK: </dict>
1790//CHECK: </array>
1791//CHECK: </dict>
1792//CHECK: <dict>
1793//CHECK: <key>kind</key><string>event</string>
1794//CHECK: <key>location</key>
1795//CHECK: <dict>
1796//CHECK: <key>line</key><integer>61</integer>
1797//CHECK: <key>col</key><integer>5</integer>
1798//CHECK: <key>file</key><integer>0</integer>
1799//CHECK: </dict>
1800//CHECK: <key>ranges</key>
1801//CHECK: <array>
1802//CHECK: <array>
1803//CHECK: <dict>
1804//CHECK: <key>line</key><integer>61</integer>
1805//CHECK: <key>col</key><integer>12</integer>
1806//CHECK: <key>file</key><integer>0</integer>
1807//CHECK: </dict>
1808//CHECK: <dict>
1809//CHECK: <key>line</key><integer>61</integer>
1810//CHECK: <key>col</key><integer>14</integer>
1811//CHECK: <key>file</key><integer>0</integer>
1812//CHECK: </dict>
1813//CHECK: </array>
1814//CHECK: </array>
1815//CHECK: <key>depth</key><integer>0</integer>
1816//CHECK: <key>extended_message</key>
1817//CHECK: <string>Use of memory after it is freed</string>
1818//CHECK: <key>message</key>
1819//CHECK: <string>Use of memory after it is freed</string>
1820//CHECK: </dict>
1821//CHECK: </array>
1822//CHECK: <key>description</key><string>Use of memory after it is freed</string>
1823//CHECK: <key>category</key><string>Memory Error</string>
1824//CHECK: <key>type</key><string>Use-after-free</string>
1825//CHECK: <key>issue_context_kind</key><string>function</string>
1826//CHECK: <key>issue_context</key><string>test_double_action_call</string>
1827//CHECK: <key>location</key>
1828//CHECK: <dict>
1829//CHECK: <key>line</key><integer>61</integer>
1830//CHECK: <key>col</key><integer>5</integer>
1831//CHECK: <key>file</key><integer>0</integer>
1832//CHECK: </dict>
1833//CHECK: </dict>
1834//CHECK: <dict>
1835//CHECK: <key>path</key>
1836//CHECK: <array>
1837//CHECK: <dict>
1838//CHECK: <key>kind</key><string>control</string>
1839//CHECK: <key>edges</key>
1840//CHECK: <array>
1841//CHECK: <dict>
1842//CHECK: <key>start</key>
1843//CHECK: <array>
1844//CHECK: <dict>
1845//CHECK: <key>line</key><integer>74</integer>
1846//CHECK: <key>col</key><integer>5</integer>
1847//CHECK: <key>file</key><integer>0</integer>
1848//CHECK: </dict>
1849//CHECK: <dict>
1850//CHECK: <key>line</key><integer>74</integer>
1851//CHECK: <key>col</key><integer>5</integer>
1852//CHECK: <key>file</key><integer>0</integer>
1853//CHECK: </dict>
1854//CHECK: </array>
1855//CHECK: <key>end</key>
1856//CHECK: <array>
1857//CHECK: <dict>
1858//CHECK: <key>line</key><integer>74</integer>
1859//CHECK: <key>col</key><integer>25</integer>
1860//CHECK: <key>file</key><integer>0</integer>
1861//CHECK: </dict>
1862//CHECK: <dict>
1863//CHECK: <key>line</key><integer>74</integer>
1864//CHECK: <key>col</key><integer>35</integer>
1865//CHECK: <key>file</key><integer>0</integer>
1866//CHECK: </dict>
1867//CHECK: </array>
1868//CHECK: </dict>
1869//CHECK: </array>
1870//CHECK: </dict>
1871//CHECK: <dict>
1872//CHECK: <key>kind</key><string>event</string>
1873//CHECK: <key>location</key>
1874//CHECK: <dict>
1875//CHECK: <key>line</key><integer>74</integer>
1876//CHECK: <key>col</key><integer>25</integer>
1877//CHECK: <key>file</key><integer>0</integer>
1878//CHECK: </dict>
1879//CHECK: <key>ranges</key>
1880//CHECK: <array>
1881//CHECK: <array>
1882//CHECK: <dict>
1883//CHECK: <key>line</key><integer>74</integer>
1884//CHECK: <key>col</key><integer>25</integer>
1885//CHECK: <key>file</key><integer>0</integer>
1886//CHECK: </dict>
1887//CHECK: <dict>
1888//CHECK: <key>line</key><integer>74</integer>
1889//CHECK: <key>col</key><integer>35</integer>
1890//CHECK: <key>file</key><integer>0</integer>
1891//CHECK: </dict>
1892//CHECK: </array>
1893//CHECK: </array>
1894//CHECK: <key>depth</key><integer>0</integer>
1895//CHECK: <key>extended_message</key>
1896//CHECK: <string>Memory is allocated</string>
1897//CHECK: <key>message</key>
1898//CHECK: <string>Memory is allocated</string>
1899//CHECK: </dict>
1900//CHECK: <dict>
1901//CHECK: <key>kind</key><string>control</string>
1902//CHECK: <key>edges</key>
1903//CHECK: <array>
1904//CHECK: <dict>
1905//CHECK: <key>start</key>
1906//CHECK: <array>
1907//CHECK: <dict>
1908//CHECK: <key>line</key><integer>74</integer>
1909//CHECK: <key>col</key><integer>25</integer>
1910//CHECK: <key>file</key><integer>0</integer>
1911//CHECK: </dict>
1912//CHECK: <dict>
1913//CHECK: <key>line</key><integer>74</integer>
1914//CHECK: <key>col</key><integer>35</integer>
1915//CHECK: <key>file</key><integer>0</integer>
1916//CHECK: </dict>
1917//CHECK: </array>
1918//CHECK: <key>end</key>
1919//CHECK: <array>
1920//CHECK: <dict>
1921//CHECK: <key>line</key><integer>75</integer>
1922//CHECK: <key>col</key><integer>11</integer>
1923//CHECK: <key>file</key><integer>0</integer>
1924//CHECK: </dict>
1925//CHECK: <dict>
1926//CHECK: <key>line</key><integer>75</integer>
1927//CHECK: <key>col</key><integer>11</integer>
1928//CHECK: <key>file</key><integer>0</integer>
1929//CHECK: </dict>
1930//CHECK: </array>
1931//CHECK: </dict>
1932//CHECK: </array>
1933//CHECK: </dict>
1934//CHECK: <dict>
1935//CHECK: <key>kind</key><string>event</string>
1936//CHECK: <key>location</key>
1937//CHECK: <dict>
1938//CHECK: <key>line</key><integer>75</integer>
1939//CHECK: <key>col</key><integer>11</integer>
1940//CHECK: <key>file</key><integer>0</integer>
1941//CHECK: </dict>
1942//CHECK: <key>ranges</key>
1943//CHECK: <array>
1944//CHECK: <array>
1945//CHECK: <dict>
1946//CHECK: <key>line</key><integer>75</integer>
1947//CHECK: <key>col</key><integer>11</integer>
1948//CHECK: <key>file</key><integer>0</integer>
1949//CHECK: </dict>
1950//CHECK: <dict>
1951//CHECK: <key>line</key><integer>75</integer>
1952//CHECK: <key>col</key><integer>25</integer>
1953//CHECK: <key>file</key><integer>0</integer>
1954//CHECK: </dict>
1955//CHECK: </array>
1956//CHECK: </array>
1957//CHECK: <key>depth</key><integer>0</integer>
1958//CHECK: <key>extended_message</key>
1959//CHECK: <string>Calling &apos;my_realloc&apos;</string>
1960//CHECK: <key>message</key>
1961//CHECK: <string>Calling &apos;my_realloc&apos;</string>
1962//CHECK: </dict>
1963//CHECK: <dict>
1964//CHECK: <key>kind</key><string>event</string>
1965//CHECK: <key>location</key>
1966//CHECK: <dict>
1967//CHECK: <key>line</key><integer>65</integer>
1968//CHECK: <key>col</key><integer>1</integer>
1969//CHECK: <key>file</key><integer>0</integer>
1970//CHECK: </dict>
1971//CHECK: <key>depth</key><integer>1</integer>
1972//CHECK: <key>extended_message</key>
1973//CHECK: <string>Entered call from &apos;reallocIntra&apos;</string>
1974//CHECK: <key>message</key>
1975//CHECK: <string>Entered call from &apos;reallocIntra&apos;</string>
1976//CHECK: </dict>
1977//CHECK: <dict>
1978//CHECK: <key>kind</key><string>control</string>
1979//CHECK: <key>edges</key>
1980//CHECK: <array>
1981//CHECK: <dict>
1982//CHECK: <key>start</key>
1983//CHECK: <array>
1984//CHECK: <dict>
1985//CHECK: <key>line</key><integer>65</integer>
1986//CHECK: <key>col</key><integer>1</integer>
1987//CHECK: <key>file</key><integer>0</integer>
1988//CHECK: </dict>
1989//CHECK: <dict>
1990//CHECK: <key>line</key><integer>65</integer>
1991//CHECK: <key>col</key><integer>1</integer>
1992//CHECK: <key>file</key><integer>0</integer>
1993//CHECK: </dict>
1994//CHECK: </array>
1995//CHECK: <key>end</key>
1996//CHECK: <array>
1997//CHECK: <dict>
1998//CHECK: <key>line</key><integer>66</integer>
1999//CHECK: <key>col</key><integer>5</integer>
2000//CHECK: <key>file</key><integer>0</integer>
2001//CHECK: </dict>
2002//CHECK: <dict>
2003//CHECK: <key>line</key><integer>66</integer>
2004//CHECK: <key>col</key><integer>5</integer>
2005//CHECK: <key>file</key><integer>0</integer>
2006//CHECK: </dict>
2007//CHECK: </array>
2008//CHECK: </dict>
2009//CHECK: </array>
2010//CHECK: </dict>
2011//CHECK: <dict>
2012//CHECK: <key>kind</key><string>control</string>
2013//CHECK: <key>edges</key>
2014//CHECK: <array>
2015//CHECK: <dict>
2016//CHECK: <key>start</key>
2017//CHECK: <array>
2018//CHECK: <dict>
2019//CHECK: <key>line</key><integer>66</integer>
2020//CHECK: <key>col</key><integer>5</integer>
2021//CHECK: <key>file</key><integer>0</integer>
2022//CHECK: </dict>
2023//CHECK: <dict>
2024//CHECK: <key>line</key><integer>66</integer>
2025//CHECK: <key>col</key><integer>5</integer>
2026//CHECK: <key>file</key><integer>0</integer>
2027//CHECK: </dict>
2028//CHECK: </array>
2029//CHECK: <key>end</key>
2030//CHECK: <array>
2031//CHECK: <dict>
2032//CHECK: <key>line</key><integer>67</integer>
2033//CHECK: <key>col</key><integer>5</integer>
2034//CHECK: <key>file</key><integer>0</integer>
2035//CHECK: </dict>
2036//CHECK: <dict>
2037//CHECK: <key>line</key><integer>67</integer>
2038//CHECK: <key>col</key><integer>5</integer>
2039//CHECK: <key>file</key><integer>0</integer>
2040//CHECK: </dict>
2041//CHECK: </array>
2042//CHECK: </dict>
2043//CHECK: </array>
2044//CHECK: </dict>
2045//CHECK: <dict>
2046//CHECK: <key>kind</key><string>control</string>
2047//CHECK: <key>edges</key>
2048//CHECK: <array>
2049//CHECK: <dict>
2050//CHECK: <key>start</key>
2051//CHECK: <array>
2052//CHECK: <dict>
2053//CHECK: <key>line</key><integer>67</integer>
2054//CHECK: <key>col</key><integer>5</integer>
2055//CHECK: <key>file</key><integer>0</integer>
2056//CHECK: </dict>
2057//CHECK: <dict>
2058//CHECK: <key>line</key><integer>67</integer>
2059//CHECK: <key>col</key><integer>5</integer>
2060//CHECK: <key>file</key><integer>0</integer>
2061//CHECK: </dict>
2062//CHECK: </array>
2063//CHECK: <key>end</key>
2064//CHECK: <array>
2065//CHECK: <dict>
2066//CHECK: <key>line</key><integer>67</integer>
2067//CHECK: <key>col</key><integer>18</integer>
2068//CHECK: <key>file</key><integer>0</integer>
2069//CHECK: </dict>
2070//CHECK: <dict>
2071//CHECK: <key>line</key><integer>67</integer>
2072//CHECK: <key>col</key><integer>40</integer>
2073//CHECK: <key>file</key><integer>0</integer>
2074//CHECK: </dict>
2075//CHECK: </array>
2076//CHECK: </dict>
2077//CHECK: </array>
2078//CHECK: </dict>
2079//CHECK: <dict>
2080//CHECK: <key>kind</key><string>event</string>
2081//CHECK: <key>location</key>
2082//CHECK: <dict>
2083//CHECK: <key>line</key><integer>67</integer>
2084//CHECK: <key>col</key><integer>18</integer>
2085//CHECK: <key>file</key><integer>0</integer>
2086//CHECK: </dict>
2087//CHECK: <key>ranges</key>
2088//CHECK: <array>
2089//CHECK: <array>
2090//CHECK: <dict>
2091//CHECK: <key>line</key><integer>67</integer>
2092//CHECK: <key>col</key><integer>18</integer>
2093//CHECK: <key>file</key><integer>0</integer>
2094//CHECK: </dict>
2095//CHECK: <dict>
2096//CHECK: <key>line</key><integer>67</integer>
2097//CHECK: <key>col</key><integer>40</integer>
2098//CHECK: <key>file</key><integer>0</integer>
2099//CHECK: </dict>
2100//CHECK: </array>
2101//CHECK: </array>
2102//CHECK: <key>depth</key><integer>1</integer>
2103//CHECK: <key>extended_message</key>
2104//CHECK: <string>Attempt to reallocate memory</string>
2105//CHECK: <key>message</key>
2106//CHECK: <string>Attempt to reallocate memory</string>
2107//CHECK: </dict>
2108//CHECK: <dict>
2109//CHECK: <key>kind</key><string>control</string>
2110//CHECK: <key>edges</key>
2111//CHECK: <array>
2112//CHECK: <dict>
2113//CHECK: <key>start</key>
2114//CHECK: <array>
2115//CHECK: <dict>
2116//CHECK: <key>line</key><integer>67</integer>
2117//CHECK: <key>col</key><integer>18</integer>
2118//CHECK: <key>file</key><integer>0</integer>
2119//CHECK: </dict>
2120//CHECK: <dict>
2121//CHECK: <key>line</key><integer>67</integer>
2122//CHECK: <key>col</key><integer>40</integer>
2123//CHECK: <key>file</key><integer>0</integer>
2124//CHECK: </dict>
2125//CHECK: </array>
2126//CHECK: <key>end</key>
2127//CHECK: <array>
2128//CHECK: <dict>
2129//CHECK: <key>line</key><integer>68</integer>
2130//CHECK: <key>col</key><integer>5</integer>
2131//CHECK: <key>file</key><integer>0</integer>
2132//CHECK: </dict>
2133//CHECK: <dict>
2134//CHECK: <key>line</key><integer>68</integer>
2135//CHECK: <key>col</key><integer>5</integer>
2136//CHECK: <key>file</key><integer>0</integer>
2137//CHECK: </dict>
2138//CHECK: </array>
2139//CHECK: </dict>
2140//CHECK: </array>
2141//CHECK: </dict>
2142//CHECK: <dict>
2143//CHECK: <key>kind</key><string>control</string>
2144//CHECK: <key>edges</key>
2145//CHECK: <array>
2146//CHECK: <dict>
2147//CHECK: <key>start</key>
2148//CHECK: <array>
2149//CHECK: <dict>
2150//CHECK: <key>line</key><integer>68</integer>
2151//CHECK: <key>col</key><integer>5</integer>
2152//CHECK: <key>file</key><integer>0</integer>
2153//CHECK: </dict>
2154//CHECK: <dict>
2155//CHECK: <key>line</key><integer>68</integer>
2156//CHECK: <key>col</key><integer>5</integer>
2157//CHECK: <key>file</key><integer>0</integer>
2158//CHECK: </dict>
2159//CHECK: </array>
2160//CHECK: <key>end</key>
2161//CHECK: <array>
2162//CHECK: <dict>
2163//CHECK: <key>line</key><integer>68</integer>
2164//CHECK: <key>col</key><integer>9</integer>
2165//CHECK: <key>file</key><integer>0</integer>
2166//CHECK: </dict>
2167//CHECK: <dict>
2168//CHECK: <key>line</key><integer>68</integer>
2169//CHECK: <key>col</key><integer>12</integer>
2170//CHECK: <key>file</key><integer>0</integer>
2171//CHECK: </dict>
2172//CHECK: </array>
2173//CHECK: </dict>
2174//CHECK: </array>
2175//CHECK: </dict>
2176//CHECK: <dict>
2177//CHECK: <key>kind</key><string>event</string>
2178//CHECK: <key>location</key>
2179//CHECK: <dict>
2180//CHECK: <key>line</key><integer>68</integer>
2181//CHECK: <key>col</key><integer>9</integer>
2182//CHECK: <key>file</key><integer>0</integer>
2183//CHECK: </dict>
2184//CHECK: <key>ranges</key>
2185//CHECK: <array>
2186//CHECK: <array>
2187//CHECK: <dict>
2188//CHECK: <key>line</key><integer>68</integer>
2189//CHECK: <key>col</key><integer>9</integer>
2190//CHECK: <key>file</key><integer>0</integer>
2191//CHECK: </dict>
2192//CHECK: <dict>
2193//CHECK: <key>line</key><integer>68</integer>
2194//CHECK: <key>col</key><integer>12</integer>
2195//CHECK: <key>file</key><integer>0</integer>
2196//CHECK: </dict>
2197//CHECK: </array>
2198//CHECK: </array>
2199//CHECK: <key>depth</key><integer>1</integer>
2200//CHECK: <key>extended_message</key>
2201//CHECK: <string>Assuming &apos;tmp&apos; is null</string>
2202//CHECK: <key>message</key>
2203//CHECK: <string>Assuming &apos;tmp&apos; is null</string>
2204//CHECK: </dict>
2205//CHECK: <dict>
2206//CHECK: <key>kind</key><string>control</string>
2207//CHECK: <key>edges</key>
2208//CHECK: <array>
2209//CHECK: <dict>
2210//CHECK: <key>start</key>
2211//CHECK: <array>
2212//CHECK: <dict>
2213//CHECK: <key>line</key><integer>68</integer>
2214//CHECK: <key>col</key><integer>9</integer>
2215//CHECK: <key>file</key><integer>0</integer>
2216//CHECK: </dict>
2217//CHECK: <dict>
2218//CHECK: <key>line</key><integer>68</integer>
2219//CHECK: <key>col</key><integer>12</integer>
2220//CHECK: <key>file</key><integer>0</integer>
2221//CHECK: </dict>
2222//CHECK: </array>
2223//CHECK: <key>end</key>
2224//CHECK: <array>
2225//CHECK: <dict>
2226//CHECK: <key>line</key><integer>68</integer>
2227//CHECK: <key>col</key><integer>5</integer>
2228//CHECK: <key>file</key><integer>0</integer>
2229//CHECK: </dict>
2230//CHECK: <dict>
2231//CHECK: <key>line</key><integer>68</integer>
2232//CHECK: <key>col</key><integer>6</integer>
2233//CHECK: <key>file</key><integer>0</integer>
2234//CHECK: </dict>
2235//CHECK: </array>
2236//CHECK: </dict>
2237//CHECK: </array>
2238//CHECK: </dict>
2239//CHECK: <dict>
2240//CHECK: <key>kind</key><string>event</string>
2241//CHECK: <key>location</key>
2242//CHECK: <dict>
2243//CHECK: <key>line</key><integer>68</integer>
2244//CHECK: <key>col</key><integer>5</integer>
2245//CHECK: <key>file</key><integer>0</integer>
2246//CHECK: </dict>
2247//CHECK: <key>ranges</key>
2248//CHECK: <array>
2249//CHECK: <array>
2250//CHECK: <dict>
2251//CHECK: <key>line</key><integer>68</integer>
2252//CHECK: <key>col</key><integer>5</integer>
2253//CHECK: <key>file</key><integer>0</integer>
2254//CHECK: </dict>
2255//CHECK: <dict>
2256//CHECK: <key>line</key><integer>68</integer>
2257//CHECK: <key>col</key><integer>6</integer>
2258//CHECK: <key>file</key><integer>0</integer>
2259//CHECK: </dict>
2260//CHECK: </array>
2261//CHECK: </array>
2262//CHECK: <key>depth</key><integer>1</integer>
2263//CHECK: <key>extended_message</key>
2264//CHECK: <string>Reallocation failed</string>
2265//CHECK: <key>message</key>
2266//CHECK: <string>Reallocation failed</string>
2267//CHECK: </dict>
2268//CHECK: <dict>
2269//CHECK: <key>kind</key><string>control</string>
2270//CHECK: <key>edges</key>
2271//CHECK: <array>
2272//CHECK: <dict>
2273//CHECK: <key>start</key>
2274//CHECK: <array>
2275//CHECK: <dict>
2276//CHECK: <key>line</key><integer>68</integer>
2277//CHECK: <key>col</key><integer>5</integer>
2278//CHECK: <key>file</key><integer>0</integer>
2279//CHECK: </dict>
2280//CHECK: <dict>
2281//CHECK: <key>line</key><integer>68</integer>
2282//CHECK: <key>col</key><integer>6</integer>
2283//CHECK: <key>file</key><integer>0</integer>
2284//CHECK: </dict>
2285//CHECK: </array>
2286//CHECK: <key>end</key>
2287//CHECK: <array>
2288//CHECK: <dict>
2289//CHECK: <key>line</key><integer>69</integer>
2290//CHECK: <key>col</key><integer>9</integer>
2291//CHECK: <key>file</key><integer>0</integer>
2292//CHECK: </dict>
2293//CHECK: <dict>
2294//CHECK: <key>line</key><integer>69</integer>
2295//CHECK: <key>col</key><integer>9</integer>
2296//CHECK: <key>file</key><integer>0</integer>
2297//CHECK: </dict>
2298//CHECK: </array>
2299//CHECK: </dict>
2300//CHECK: </array>
2301//CHECK: </dict>
2302//CHECK: <dict>
2303//CHECK: <key>kind</key><string>event</string>
2304//CHECK: <key>location</key>
2305//CHECK: <dict>
2306//CHECK: <key>line</key><integer>75</integer>
2307//CHECK: <key>col</key><integer>11</integer>
2308//CHECK: <key>file</key><integer>0</integer>
2309//CHECK: </dict>
2310//CHECK: <key>ranges</key>
2311//CHECK: <array>
2312//CHECK: <array>
2313//CHECK: <dict>
2314//CHECK: <key>line</key><integer>75</integer>
2315//CHECK: <key>col</key><integer>11</integer>
2316//CHECK: <key>file</key><integer>0</integer>
2317//CHECK: </dict>
2318//CHECK: <dict>
2319//CHECK: <key>line</key><integer>75</integer>
2320//CHECK: <key>col</key><integer>25</integer>
2321//CHECK: <key>file</key><integer>0</integer>
2322//CHECK: </dict>
2323//CHECK: </array>
2324//CHECK: </array>
2325//CHECK: <key>depth</key><integer>1</integer>
2326//CHECK: <key>extended_message</key>
2327//CHECK: <string>Reallocation of 1st parameter failed</string>
2328//CHECK: <key>message</key>
2329//CHECK: <string>Reallocation of 1st parameter failed</string>
2330//CHECK: </dict>
2331//CHECK: <dict>
2332//CHECK: <key>kind</key><string>control</string>
2333//CHECK: <key>edges</key>
2334//CHECK: <array>
2335//CHECK: <dict>
2336//CHECK: <key>start</key>
2337//CHECK: <array>
2338//CHECK: <dict>
2339//CHECK: <key>line</key><integer>75</integer>
2340//CHECK: <key>col</key><integer>11</integer>
2341//CHECK: <key>file</key><integer>0</integer>
2342//CHECK: </dict>
2343//CHECK: <dict>
2344//CHECK: <key>line</key><integer>75</integer>
2345//CHECK: <key>col</key><integer>25</integer>
2346//CHECK: <key>file</key><integer>0</integer>
2347//CHECK: </dict>
2348//CHECK: </array>
2349//CHECK: <key>end</key>
2350//CHECK: <array>
2351//CHECK: <dict>
2352//CHECK: <key>line</key><integer>76</integer>
2353//CHECK: <key>col</key><integer>5</integer>
2354//CHECK: <key>file</key><integer>0</integer>
2355//CHECK: </dict>
2356//CHECK: <dict>
2357//CHECK: <key>line</key><integer>76</integer>
2358//CHECK: <key>col</key><integer>13</integer>
2359//CHECK: <key>file</key><integer>0</integer>
2360//CHECK: </dict>
2361//CHECK: </array>
2362//CHECK: </dict>
2363//CHECK: </array>
2364//CHECK: </dict>
2365//CHECK: <dict>
2366//CHECK: <key>kind</key><string>event</string>
2367//CHECK: <key>location</key>
2368//CHECK: <dict>
2369//CHECK: <key>line</key><integer>76</integer>
2370//CHECK: <key>col</key><integer>5</integer>
2371//CHECK: <key>file</key><integer>0</integer>
2372//CHECK: </dict>
Anna Zaks0b3ade82012-04-20 21:59:08 +00002373//CHECK: <key>depth</key><integer>0</integer>
2374//CHECK: <key>extended_message</key>
2375//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;buf&apos;</string>
2376//CHECK: <key>message</key>
2377//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;buf&apos;</string>
2378//CHECK: </dict>
2379//CHECK: </array>
2380//CHECK: <key>description</key><string>Memory is never released; potential leak of memory pointed to by &apos;buf&apos;</string>
2381//CHECK: <key>category</key><string>Memory Error</string>
2382//CHECK: <key>type</key><string>Memory leak</string>
2383//CHECK: <key>issue_context_kind</key><string>function</string>
2384//CHECK: <key>issue_context</key><string>reallocIntra</string>
2385//CHECK: <key>location</key>
2386//CHECK: <dict>
2387//CHECK: <key>line</key><integer>76</integer>
2388//CHECK: <key>col</key><integer>5</integer>
2389//CHECK: <key>file</key><integer>0</integer>
2390//CHECK: </dict>
2391//CHECK: </dict>
2392//CHECK: <dict>
2393//CHECK: <key>path</key>
2394//CHECK: <array>
2395//CHECK: <dict>
2396//CHECK: <key>kind</key><string>control</string>
2397//CHECK: <key>edges</key>
2398//CHECK: <array>
2399//CHECK: <dict>
2400//CHECK: <key>start</key>
2401//CHECK: <array>
2402//CHECK: <dict>
2403//CHECK: <key>line</key><integer>84</integer>
2404//CHECK: <key>col</key><integer>5</integer>
2405//CHECK: <key>file</key><integer>0</integer>
2406//CHECK: </dict>
2407//CHECK: <dict>
2408//CHECK: <key>line</key><integer>84</integer>
2409//CHECK: <key>col</key><integer>5</integer>
2410//CHECK: <key>file</key><integer>0</integer>
2411//CHECK: </dict>
2412//CHECK: </array>
2413//CHECK: <key>end</key>
2414//CHECK: <array>
2415//CHECK: <dict>
2416//CHECK: <key>line</key><integer>85</integer>
2417//CHECK: <key>col</key><integer>9</integer>
2418//CHECK: <key>file</key><integer>0</integer>
2419//CHECK: </dict>
2420//CHECK: <dict>
2421//CHECK: <key>line</key><integer>85</integer>
2422//CHECK: <key>col</key><integer>9</integer>
2423//CHECK: <key>file</key><integer>0</integer>
2424//CHECK: </dict>
2425//CHECK: </array>
2426//CHECK: </dict>
2427//CHECK: </array>
2428//CHECK: </dict>
2429//CHECK: <dict>
2430//CHECK: <key>kind</key><string>event</string>
2431//CHECK: <key>location</key>
2432//CHECK: <dict>
2433//CHECK: <key>line</key><integer>85</integer>
2434//CHECK: <key>col</key><integer>9</integer>
2435//CHECK: <key>file</key><integer>0</integer>
2436//CHECK: </dict>
2437//CHECK: <key>ranges</key>
2438//CHECK: <array>
2439//CHECK: <array>
2440//CHECK: <dict>
2441//CHECK: <key>line</key><integer>85</integer>
2442//CHECK: <key>col</key><integer>9</integer>
2443//CHECK: <key>file</key><integer>0</integer>
2444//CHECK: </dict>
2445//CHECK: <dict>
2446//CHECK: <key>line</key><integer>85</integer>
2447//CHECK: <key>col</key><integer>28</integer>
2448//CHECK: <key>file</key><integer>0</integer>
2449//CHECK: </dict>
2450//CHECK: </array>
2451//CHECK: </array>
2452//CHECK: <key>depth</key><integer>0</integer>
2453//CHECK: <key>extended_message</key>
2454//CHECK: <string>Calling &apos;malloc_wrapper_ret&apos;</string>
2455//CHECK: <key>message</key>
2456//CHECK: <string>Calling &apos;malloc_wrapper_ret&apos;</string>
2457//CHECK: </dict>
2458//CHECK: <dict>
2459//CHECK: <key>kind</key><string>event</string>
2460//CHECK: <key>location</key>
2461//CHECK: <dict>
2462//CHECK: <key>line</key><integer>80</integer>
2463//CHECK: <key>col</key><integer>1</integer>
2464//CHECK: <key>file</key><integer>0</integer>
2465//CHECK: </dict>
2466//CHECK: <key>depth</key><integer>1</integer>
2467//CHECK: <key>extended_message</key>
2468//CHECK: <string>Entered call from &apos;use_ret&apos;</string>
2469//CHECK: <key>message</key>
2470//CHECK: <string>Entered call from &apos;use_ret&apos;</string>
2471//CHECK: </dict>
2472//CHECK: <dict>
2473//CHECK: <key>kind</key><string>control</string>
2474//CHECK: <key>edges</key>
2475//CHECK: <array>
2476//CHECK: <dict>
2477//CHECK: <key>start</key>
2478//CHECK: <array>
2479//CHECK: <dict>
2480//CHECK: <key>line</key><integer>80</integer>
2481//CHECK: <key>col</key><integer>1</integer>
2482//CHECK: <key>file</key><integer>0</integer>
2483//CHECK: </dict>
2484//CHECK: <dict>
2485//CHECK: <key>line</key><integer>80</integer>
2486//CHECK: <key>col</key><integer>1</integer>
2487//CHECK: <key>file</key><integer>0</integer>
2488//CHECK: </dict>
2489//CHECK: </array>
2490//CHECK: <key>end</key>
2491//CHECK: <array>
2492//CHECK: <dict>
2493//CHECK: <key>line</key><integer>81</integer>
2494//CHECK: <key>col</key><integer>5</integer>
2495//CHECK: <key>file</key><integer>0</integer>
2496//CHECK: </dict>
2497//CHECK: <dict>
2498//CHECK: <key>line</key><integer>81</integer>
2499//CHECK: <key>col</key><integer>5</integer>
2500//CHECK: <key>file</key><integer>0</integer>
2501//CHECK: </dict>
2502//CHECK: </array>
2503//CHECK: </dict>
2504//CHECK: </array>
2505//CHECK: </dict>
2506//CHECK: <dict>
2507//CHECK: <key>kind</key><string>control</string>
2508//CHECK: <key>edges</key>
2509//CHECK: <array>
2510//CHECK: <dict>
2511//CHECK: <key>start</key>
2512//CHECK: <array>
2513//CHECK: <dict>
2514//CHECK: <key>line</key><integer>81</integer>
2515//CHECK: <key>col</key><integer>5</integer>
2516//CHECK: <key>file</key><integer>0</integer>
2517//CHECK: </dict>
2518//CHECK: <dict>
2519//CHECK: <key>line</key><integer>81</integer>
2520//CHECK: <key>col</key><integer>5</integer>
2521//CHECK: <key>file</key><integer>0</integer>
2522//CHECK: </dict>
2523//CHECK: </array>
2524//CHECK: <key>end</key>
2525//CHECK: <array>
2526//CHECK: <dict>
2527//CHECK: <key>line</key><integer>81</integer>
2528//CHECK: <key>col</key><integer>19</integer>
2529//CHECK: <key>file</key><integer>0</integer>
2530//CHECK: </dict>
2531//CHECK: <dict>
2532//CHECK: <key>line</key><integer>81</integer>
2533//CHECK: <key>col</key><integer>28</integer>
2534//CHECK: <key>file</key><integer>0</integer>
2535//CHECK: </dict>
2536//CHECK: </array>
2537//CHECK: </dict>
2538//CHECK: </array>
2539//CHECK: </dict>
2540//CHECK: <dict>
2541//CHECK: <key>kind</key><string>event</string>
2542//CHECK: <key>location</key>
2543//CHECK: <dict>
2544//CHECK: <key>line</key><integer>81</integer>
2545//CHECK: <key>col</key><integer>19</integer>
2546//CHECK: <key>file</key><integer>0</integer>
2547//CHECK: </dict>
2548//CHECK: <key>ranges</key>
2549//CHECK: <array>
2550//CHECK: <array>
2551//CHECK: <dict>
2552//CHECK: <key>line</key><integer>81</integer>
2553//CHECK: <key>col</key><integer>19</integer>
2554//CHECK: <key>file</key><integer>0</integer>
2555//CHECK: </dict>
2556//CHECK: <dict>
2557//CHECK: <key>line</key><integer>81</integer>
2558//CHECK: <key>col</key><integer>28</integer>
2559//CHECK: <key>file</key><integer>0</integer>
2560//CHECK: </dict>
2561//CHECK: </array>
2562//CHECK: </array>
2563//CHECK: <key>depth</key><integer>1</integer>
2564//CHECK: <key>extended_message</key>
2565//CHECK: <string>Memory is allocated</string>
2566//CHECK: <key>message</key>
2567//CHECK: <string>Memory is allocated</string>
2568//CHECK: </dict>
2569//CHECK: <dict>
2570//CHECK: <key>kind</key><string>event</string>
2571//CHECK: <key>location</key>
2572//CHECK: <dict>
2573//CHECK: <key>line</key><integer>85</integer>
2574//CHECK: <key>col</key><integer>9</integer>
2575//CHECK: <key>file</key><integer>0</integer>
2576//CHECK: </dict>
2577//CHECK: <key>ranges</key>
2578//CHECK: <array>
2579//CHECK: <array>
2580//CHECK: <dict>
2581//CHECK: <key>line</key><integer>85</integer>
2582//CHECK: <key>col</key><integer>9</integer>
2583//CHECK: <key>file</key><integer>0</integer>
2584//CHECK: </dict>
2585//CHECK: <dict>
2586//CHECK: <key>line</key><integer>85</integer>
2587//CHECK: <key>col</key><integer>28</integer>
2588//CHECK: <key>file</key><integer>0</integer>
2589//CHECK: </dict>
2590//CHECK: </array>
2591//CHECK: </array>
2592//CHECK: <key>depth</key><integer>1</integer>
2593//CHECK: <key>extended_message</key>
2594//CHECK: <string>Returned allocated memory</string>
2595//CHECK: <key>message</key>
2596//CHECK: <string>Returned allocated memory</string>
2597//CHECK: </dict>
2598//CHECK: <dict>
2599//CHECK: <key>kind</key><string>control</string>
2600//CHECK: <key>edges</key>
2601//CHECK: <array>
2602//CHECK: <dict>
2603//CHECK: <key>start</key>
2604//CHECK: <array>
2605//CHECK: <dict>
2606//CHECK: <key>line</key><integer>85</integer>
2607//CHECK: <key>col</key><integer>9</integer>
2608//CHECK: <key>file</key><integer>0</integer>
2609//CHECK: </dict>
2610//CHECK: <dict>
2611//CHECK: <key>line</key><integer>85</integer>
2612//CHECK: <key>col</key><integer>28</integer>
2613//CHECK: <key>file</key><integer>0</integer>
2614//CHECK: </dict>
2615//CHECK: </array>
2616//CHECK: <key>end</key>
2617//CHECK: <array>
2618//CHECK: <dict>
2619//CHECK: <key>line</key><integer>86</integer>
2620//CHECK: <key>col</key><integer>1</integer>
2621//CHECK: <key>file</key><integer>0</integer>
2622//CHECK: </dict>
2623//CHECK: <dict>
2624//CHECK: <key>line</key><integer>86</integer>
2625//CHECK: <key>col</key><integer>1</integer>
2626//CHECK: <key>file</key><integer>0</integer>
2627//CHECK: </dict>
2628//CHECK: </array>
2629//CHECK: </dict>
2630//CHECK: </array>
2631//CHECK: </dict>
2632//CHECK: <dict>
2633//CHECK: <key>kind</key><string>event</string>
2634//CHECK: <key>location</key>
2635//CHECK: <dict>
2636//CHECK: <key>line</key><integer>86</integer>
2637//CHECK: <key>col</key><integer>1</integer>
2638//CHECK: <key>file</key><integer>0</integer>
2639//CHECK: </dict>
2640//CHECK: <key>depth</key><integer>0</integer>
2641//CHECK: <key>extended_message</key>
2642//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;v&apos;</string>
2643//CHECK: <key>message</key>
2644//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;v&apos;</string>
2645//CHECK: </dict>
2646//CHECK: </array>
2647//CHECK: <key>description</key><string>Memory is never released; potential leak of memory pointed to by &apos;v&apos;</string>
2648//CHECK: <key>category</key><string>Memory Error</string>
2649//CHECK: <key>type</key><string>Memory leak</string>
2650//CHECK: <key>issue_context_kind</key><string>function</string>
2651//CHECK: <key>issue_context</key><string>use_ret</string>
2652//CHECK: <key>location</key>
2653//CHECK: <dict>
2654//CHECK: <key>line</key><integer>86</integer>
2655//CHECK: <key>col</key><integer>1</integer>
2656//CHECK: <key>file</key><integer>0</integer>
2657//CHECK: </dict>
2658//CHECK: </dict>
2659//CHECK: <dict>
2660//CHECK: <key>path</key>
2661//CHECK: <array>
2662//CHECK: <dict>
2663//CHECK: <key>kind</key><string>control</string>
2664//CHECK: <key>edges</key>
2665//CHECK: <array>
2666//CHECK: <dict>
2667//CHECK: <key>start</key>
2668//CHECK: <array>
2669//CHECK: <dict>
2670//CHECK: <key>line</key><integer>90</integer>
2671//CHECK: <key>col</key><integer>5</integer>
2672//CHECK: <key>file</key><integer>0</integer>
2673//CHECK: </dict>
2674//CHECK: <dict>
2675//CHECK: <key>line</key><integer>90</integer>
2676//CHECK: <key>col</key><integer>5</integer>
2677//CHECK: <key>file</key><integer>0</integer>
2678//CHECK: </dict>
2679//CHECK: </array>
2680//CHECK: <key>end</key>
2681//CHECK: <array>
2682//CHECK: <dict>
2683//CHECK: <key>line</key><integer>92</integer>
2684//CHECK: <key>col</key><integer>5</integer>
2685//CHECK: <key>file</key><integer>0</integer>
2686//CHECK: </dict>
2687//CHECK: <dict>
2688//CHECK: <key>line</key><integer>92</integer>
2689//CHECK: <key>col</key><integer>5</integer>
2690//CHECK: <key>file</key><integer>0</integer>
2691//CHECK: </dict>
2692//CHECK: </array>
2693//CHECK: </dict>
2694//CHECK: </array>
2695//CHECK: </dict>
2696//CHECK: <dict>
2697//CHECK: <key>kind</key><string>control</string>
2698//CHECK: <key>edges</key>
2699//CHECK: <array>
2700//CHECK: <dict>
2701//CHECK: <key>start</key>
2702//CHECK: <array>
2703//CHECK: <dict>
2704//CHECK: <key>line</key><integer>92</integer>
2705//CHECK: <key>col</key><integer>5</integer>
2706//CHECK: <key>file</key><integer>0</integer>
2707//CHECK: </dict>
2708//CHECK: <dict>
2709//CHECK: <key>line</key><integer>92</integer>
2710//CHECK: <key>col</key><integer>5</integer>
2711//CHECK: <key>file</key><integer>0</integer>
2712//CHECK: </dict>
2713//CHECK: </array>
2714//CHECK: <key>end</key>
2715//CHECK: <array>
2716//CHECK: <dict>
2717//CHECK: <key>line</key><integer>92</integer>
2718//CHECK: <key>col</key><integer>15</integer>
2719//CHECK: <key>file</key><integer>0</integer>
2720//CHECK: </dict>
2721//CHECK: <dict>
2722//CHECK: <key>line</key><integer>92</integer>
2723//CHECK: <key>col</key><integer>24</integer>
2724//CHECK: <key>file</key><integer>0</integer>
2725//CHECK: </dict>
2726//CHECK: </array>
2727//CHECK: </dict>
2728//CHECK: </array>
2729//CHECK: </dict>
2730//CHECK: <dict>
2731//CHECK: <key>kind</key><string>event</string>
2732//CHECK: <key>location</key>
2733//CHECK: <dict>
2734//CHECK: <key>line</key><integer>92</integer>
2735//CHECK: <key>col</key><integer>15</integer>
2736//CHECK: <key>file</key><integer>0</integer>
2737//CHECK: </dict>
2738//CHECK: <key>ranges</key>
2739//CHECK: <array>
2740//CHECK: <array>
2741//CHECK: <dict>
2742//CHECK: <key>line</key><integer>92</integer>
2743//CHECK: <key>col</key><integer>15</integer>
2744//CHECK: <key>file</key><integer>0</integer>
2745//CHECK: </dict>
2746//CHECK: <dict>
2747//CHECK: <key>line</key><integer>92</integer>
2748//CHECK: <key>col</key><integer>24</integer>
2749//CHECK: <key>file</key><integer>0</integer>
2750//CHECK: </dict>
2751//CHECK: </array>
2752//CHECK: </array>
2753//CHECK: <key>depth</key><integer>0</integer>
2754//CHECK: <key>extended_message</key>
2755//CHECK: <string>Memory is allocated</string>
2756//CHECK: <key>message</key>
2757//CHECK: <string>Memory is allocated</string>
2758//CHECK: </dict>
2759//CHECK: <dict>
2760//CHECK: <key>kind</key><string>control</string>
2761//CHECK: <key>edges</key>
2762//CHECK: <array>
2763//CHECK: <dict>
2764//CHECK: <key>start</key>
2765//CHECK: <array>
2766//CHECK: <dict>
2767//CHECK: <key>line</key><integer>92</integer>
2768//CHECK: <key>col</key><integer>15</integer>
2769//CHECK: <key>file</key><integer>0</integer>
2770//CHECK: </dict>
2771//CHECK: <dict>
2772//CHECK: <key>line</key><integer>92</integer>
2773//CHECK: <key>col</key><integer>24</integer>
2774//CHECK: <key>file</key><integer>0</integer>
2775//CHECK: </dict>
2776//CHECK: </array>
2777//CHECK: <key>end</key>
2778//CHECK: <array>
2779//CHECK: <dict>
2780//CHECK: <key>line</key><integer>97</integer>
2781//CHECK: <key>col</key><integer>5</integer>
2782//CHECK: <key>file</key><integer>0</integer>
2783//CHECK: </dict>
2784//CHECK: <dict>
2785//CHECK: <key>line</key><integer>97</integer>
2786//CHECK: <key>col</key><integer>8</integer>
2787//CHECK: <key>file</key><integer>0</integer>
2788//CHECK: </dict>
2789//CHECK: </array>
2790//CHECK: </dict>
2791//CHECK: </array>
2792//CHECK: </dict>
2793//CHECK: <dict>
2794//CHECK: <key>kind</key><string>event</string>
2795//CHECK: <key>location</key>
2796//CHECK: <dict>
2797//CHECK: <key>line</key><integer>97</integer>
2798//CHECK: <key>col</key><integer>5</integer>
2799//CHECK: <key>file</key><integer>0</integer>
2800//CHECK: </dict>
Anna Zaks0b3ade82012-04-20 21:59:08 +00002801//CHECK: <key>depth</key><integer>0</integer>
2802//CHECK: <key>extended_message</key>
2803//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;m&apos;</string>
2804//CHECK: <key>message</key>
2805//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;m&apos;</string>
2806//CHECK: </dict>
2807//CHECK: </array>
2808//CHECK: <key>description</key><string>Memory is never released; potential leak of memory pointed to by &apos;m&apos;</string>
2809//CHECK: <key>category</key><string>Memory Error</string>
2810//CHECK: <key>type</key><string>Memory leak</string>
2811//CHECK: <key>issue_context_kind</key><string>function</string>
2812//CHECK: <key>issue_context</key><string>LeakedSymbol</string>
2813//CHECK: <key>location</key>
2814//CHECK: <dict>
2815//CHECK: <key>line</key><integer>97</integer>
2816//CHECK: <key>col</key><integer>5</integer>
2817//CHECK: <key>file</key><integer>0</integer>
2818//CHECK: </dict>
2819//CHECK: </dict>
2820//CHECK: <dict>
2821//CHECK: <key>path</key>
2822//CHECK: <array>
2823//CHECK: <dict>
2824//CHECK: <key>kind</key><string>event</string>
2825//CHECK: <key>location</key>
2826//CHECK: <dict>
2827//CHECK: <key>line</key><integer>105</integer>
2828//CHECK: <key>col</key><integer>5</integer>
2829//CHECK: <key>file</key><integer>0</integer>
2830//CHECK: </dict>
2831//CHECK: <key>ranges</key>
2832//CHECK: <array>
2833//CHECK: <array>
2834//CHECK: <dict>
2835//CHECK: <key>line</key><integer>105</integer>
2836//CHECK: <key>col</key><integer>5</integer>
2837//CHECK: <key>file</key><integer>0</integer>
2838//CHECK: </dict>
2839//CHECK: <dict>
2840//CHECK: <key>line</key><integer>105</integer>
2841//CHECK: <key>col</key><integer>25</integer>
2842//CHECK: <key>file</key><integer>0</integer>
2843//CHECK: </dict>
2844//CHECK: </array>
2845//CHECK: </array>
2846//CHECK: <key>depth</key><integer>0</integer>
2847//CHECK: <key>extended_message</key>
2848//CHECK: <string>Calling &apos;function_with_leak1&apos;</string>
2849//CHECK: <key>message</key>
2850//CHECK: <string>Calling &apos;function_with_leak1&apos;</string>
2851//CHECK: </dict>
2852//CHECK: <dict>
2853//CHECK: <key>kind</key><string>event</string>
2854//CHECK: <key>location</key>
2855//CHECK: <dict>
2856//CHECK: <key>line</key><integer>101</integer>
2857//CHECK: <key>col</key><integer>1</integer>
2858//CHECK: <key>file</key><integer>0</integer>
2859//CHECK: </dict>
2860//CHECK: <key>depth</key><integer>1</integer>
2861//CHECK: <key>extended_message</key>
2862//CHECK: <string>Entered call from &apos;use_function_with_leak1&apos;</string>
2863//CHECK: <key>message</key>
2864//CHECK: <string>Entered call from &apos;use_function_with_leak1&apos;</string>
2865//CHECK: </dict>
2866//CHECK: <dict>
2867//CHECK: <key>kind</key><string>control</string>
2868//CHECK: <key>edges</key>
2869//CHECK: <array>
2870//CHECK: <dict>
2871//CHECK: <key>start</key>
2872//CHECK: <array>
2873//CHECK: <dict>
2874//CHECK: <key>line</key><integer>101</integer>
2875//CHECK: <key>col</key><integer>1</integer>
2876//CHECK: <key>file</key><integer>0</integer>
2877//CHECK: </dict>
2878//CHECK: <dict>
2879//CHECK: <key>line</key><integer>101</integer>
2880//CHECK: <key>col</key><integer>1</integer>
2881//CHECK: <key>file</key><integer>0</integer>
2882//CHECK: </dict>
2883//CHECK: </array>
2884//CHECK: <key>end</key>
2885//CHECK: <array>
2886//CHECK: <dict>
2887//CHECK: <key>line</key><integer>102</integer>
2888//CHECK: <key>col</key><integer>5</integer>
2889//CHECK: <key>file</key><integer>0</integer>
2890//CHECK: </dict>
2891//CHECK: <dict>
2892//CHECK: <key>line</key><integer>102</integer>
2893//CHECK: <key>col</key><integer>5</integer>
2894//CHECK: <key>file</key><integer>0</integer>
2895//CHECK: </dict>
2896//CHECK: </array>
2897//CHECK: </dict>
2898//CHECK: </array>
2899//CHECK: </dict>
2900//CHECK: <dict>
2901//CHECK: <key>kind</key><string>control</string>
2902//CHECK: <key>edges</key>
2903//CHECK: <array>
2904//CHECK: <dict>
2905//CHECK: <key>start</key>
2906//CHECK: <array>
2907//CHECK: <dict>
2908//CHECK: <key>line</key><integer>102</integer>
2909//CHECK: <key>col</key><integer>5</integer>
2910//CHECK: <key>file</key><integer>0</integer>
2911//CHECK: </dict>
2912//CHECK: <dict>
2913//CHECK: <key>line</key><integer>102</integer>
2914//CHECK: <key>col</key><integer>5</integer>
2915//CHECK: <key>file</key><integer>0</integer>
2916//CHECK: </dict>
2917//CHECK: </array>
2918//CHECK: <key>end</key>
2919//CHECK: <array>
2920//CHECK: <dict>
2921//CHECK: <key>line</key><integer>102</integer>
2922//CHECK: <key>col</key><integer>22</integer>
2923//CHECK: <key>file</key><integer>0</integer>
2924//CHECK: </dict>
2925//CHECK: <dict>
2926//CHECK: <key>line</key><integer>102</integer>
2927//CHECK: <key>col</key><integer>31</integer>
2928//CHECK: <key>file</key><integer>0</integer>
2929//CHECK: </dict>
2930//CHECK: </array>
2931//CHECK: </dict>
2932//CHECK: </array>
2933//CHECK: </dict>
2934//CHECK: <dict>
2935//CHECK: <key>kind</key><string>event</string>
2936//CHECK: <key>location</key>
2937//CHECK: <dict>
2938//CHECK: <key>line</key><integer>102</integer>
2939//CHECK: <key>col</key><integer>22</integer>
2940//CHECK: <key>file</key><integer>0</integer>
2941//CHECK: </dict>
2942//CHECK: <key>ranges</key>
2943//CHECK: <array>
2944//CHECK: <array>
2945//CHECK: <dict>
2946//CHECK: <key>line</key><integer>102</integer>
2947//CHECK: <key>col</key><integer>22</integer>
2948//CHECK: <key>file</key><integer>0</integer>
2949//CHECK: </dict>
2950//CHECK: <dict>
2951//CHECK: <key>line</key><integer>102</integer>
2952//CHECK: <key>col</key><integer>31</integer>
2953//CHECK: <key>file</key><integer>0</integer>
2954//CHECK: </dict>
2955//CHECK: </array>
2956//CHECK: </array>
2957//CHECK: <key>depth</key><integer>1</integer>
2958//CHECK: <key>extended_message</key>
2959//CHECK: <string>Memory is allocated</string>
2960//CHECK: <key>message</key>
2961//CHECK: <string>Memory is allocated</string>
2962//CHECK: </dict>
2963//CHECK: <dict>
2964//CHECK: <key>kind</key><string>control</string>
2965//CHECK: <key>edges</key>
2966//CHECK: <array>
2967//CHECK: <dict>
2968//CHECK: <key>start</key>
2969//CHECK: <array>
2970//CHECK: <dict>
2971//CHECK: <key>line</key><integer>102</integer>
2972//CHECK: <key>col</key><integer>22</integer>
2973//CHECK: <key>file</key><integer>0</integer>
2974//CHECK: </dict>
2975//CHECK: <dict>
2976//CHECK: <key>line</key><integer>102</integer>
2977//CHECK: <key>col</key><integer>31</integer>
2978//CHECK: <key>file</key><integer>0</integer>
2979//CHECK: </dict>
2980//CHECK: </array>
2981//CHECK: <key>end</key>
2982//CHECK: <array>
2983//CHECK: <dict>
2984//CHECK: <key>line</key><integer>102</integer>
2985//CHECK: <key>col</key><integer>5</integer>
2986//CHECK: <key>file</key><integer>0</integer>
2987//CHECK: </dict>
2988//CHECK: <dict>
2989//CHECK: <key>line</key><integer>102</integer>
2990//CHECK: <key>col</key><integer>11</integer>
2991//CHECK: <key>file</key><integer>0</integer>
2992//CHECK: </dict>
2993//CHECK: </array>
2994//CHECK: </dict>
2995//CHECK: </array>
2996//CHECK: </dict>
2997//CHECK: <dict>
2998//CHECK: <key>kind</key><string>event</string>
2999//CHECK: <key>location</key>
3000//CHECK: <dict>
3001//CHECK: <key>line</key><integer>102</integer>
3002//CHECK: <key>col</key><integer>5</integer>
3003//CHECK: <key>file</key><integer>0</integer>
3004//CHECK: </dict>
Anna Zaks0b3ade82012-04-20 21:59:08 +00003005//CHECK: <key>depth</key><integer>1</integer>
3006//CHECK: <key>extended_message</key>
3007//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3008//CHECK: <key>message</key>
3009//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3010//CHECK: </dict>
3011//CHECK: </array>
3012//CHECK: <key>description</key><string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3013//CHECK: <key>category</key><string>Memory Error</string>
3014//CHECK: <key>type</key><string>Memory leak</string>
3015//CHECK: <key>issue_context_kind</key><string>function</string>
3016//CHECK: <key>issue_context</key><string>function_with_leak1</string>
3017//CHECK: <key>location</key>
3018//CHECK: <dict>
3019//CHECK: <key>line</key><integer>102</integer>
3020//CHECK: <key>col</key><integer>5</integer>
3021//CHECK: <key>file</key><integer>0</integer>
3022//CHECK: </dict>
3023//CHECK: </dict>
3024//CHECK: <dict>
3025//CHECK: <key>path</key>
3026//CHECK: <array>
3027//CHECK: <dict>
3028//CHECK: <key>kind</key><string>event</string>
3029//CHECK: <key>location</key>
3030//CHECK: <dict>
3031//CHECK: <key>line</key><integer>114</integer>
3032//CHECK: <key>col</key><integer>5</integer>
3033//CHECK: <key>file</key><integer>0</integer>
3034//CHECK: </dict>
3035//CHECK: <key>ranges</key>
3036//CHECK: <array>
3037//CHECK: <array>
3038//CHECK: <dict>
3039//CHECK: <key>line</key><integer>114</integer>
3040//CHECK: <key>col</key><integer>5</integer>
3041//CHECK: <key>file</key><integer>0</integer>
3042//CHECK: </dict>
3043//CHECK: <dict>
3044//CHECK: <key>line</key><integer>114</integer>
3045//CHECK: <key>col</key><integer>25</integer>
3046//CHECK: <key>file</key><integer>0</integer>
3047//CHECK: </dict>
3048//CHECK: </array>
3049//CHECK: </array>
3050//CHECK: <key>depth</key><integer>0</integer>
3051//CHECK: <key>extended_message</key>
3052//CHECK: <string>Calling &apos;function_with_leak2&apos;</string>
3053//CHECK: <key>message</key>
3054//CHECK: <string>Calling &apos;function_with_leak2&apos;</string>
3055//CHECK: </dict>
3056//CHECK: <dict>
3057//CHECK: <key>kind</key><string>event</string>
3058//CHECK: <key>location</key>
3059//CHECK: <dict>
3060//CHECK: <key>line</key><integer>109</integer>
3061//CHECK: <key>col</key><integer>1</integer>
3062//CHECK: <key>file</key><integer>0</integer>
3063//CHECK: </dict>
3064//CHECK: <key>depth</key><integer>1</integer>
3065//CHECK: <key>extended_message</key>
3066//CHECK: <string>Entered call from &apos;use_function_with_leak2&apos;</string>
3067//CHECK: <key>message</key>
3068//CHECK: <string>Entered call from &apos;use_function_with_leak2&apos;</string>
3069//CHECK: </dict>
3070//CHECK: <dict>
3071//CHECK: <key>kind</key><string>control</string>
3072//CHECK: <key>edges</key>
3073//CHECK: <array>
3074//CHECK: <dict>
3075//CHECK: <key>start</key>
3076//CHECK: <array>
3077//CHECK: <dict>
3078//CHECK: <key>line</key><integer>109</integer>
3079//CHECK: <key>col</key><integer>1</integer>
3080//CHECK: <key>file</key><integer>0</integer>
3081//CHECK: </dict>
3082//CHECK: <dict>
3083//CHECK: <key>line</key><integer>109</integer>
3084//CHECK: <key>col</key><integer>1</integer>
3085//CHECK: <key>file</key><integer>0</integer>
3086//CHECK: </dict>
3087//CHECK: </array>
3088//CHECK: <key>end</key>
3089//CHECK: <array>
3090//CHECK: <dict>
3091//CHECK: <key>line</key><integer>110</integer>
3092//CHECK: <key>col</key><integer>5</integer>
3093//CHECK: <key>file</key><integer>0</integer>
3094//CHECK: </dict>
3095//CHECK: <dict>
3096//CHECK: <key>line</key><integer>110</integer>
3097//CHECK: <key>col</key><integer>5</integer>
3098//CHECK: <key>file</key><integer>0</integer>
3099//CHECK: </dict>
3100//CHECK: </array>
3101//CHECK: </dict>
3102//CHECK: </array>
3103//CHECK: </dict>
3104//CHECK: <dict>
3105//CHECK: <key>kind</key><string>control</string>
3106//CHECK: <key>edges</key>
3107//CHECK: <array>
3108//CHECK: <dict>
3109//CHECK: <key>start</key>
3110//CHECK: <array>
3111//CHECK: <dict>
3112//CHECK: <key>line</key><integer>110</integer>
3113//CHECK: <key>col</key><integer>5</integer>
3114//CHECK: <key>file</key><integer>0</integer>
3115//CHECK: </dict>
3116//CHECK: <dict>
3117//CHECK: <key>line</key><integer>110</integer>
3118//CHECK: <key>col</key><integer>5</integer>
3119//CHECK: <key>file</key><integer>0</integer>
3120//CHECK: </dict>
3121//CHECK: </array>
3122//CHECK: <key>end</key>
3123//CHECK: <array>
3124//CHECK: <dict>
3125//CHECK: <key>line</key><integer>110</integer>
3126//CHECK: <key>col</key><integer>22</integer>
3127//CHECK: <key>file</key><integer>0</integer>
3128//CHECK: </dict>
3129//CHECK: <dict>
3130//CHECK: <key>line</key><integer>110</integer>
3131//CHECK: <key>col</key><integer>31</integer>
3132//CHECK: <key>file</key><integer>0</integer>
3133//CHECK: </dict>
3134//CHECK: </array>
3135//CHECK: </dict>
3136//CHECK: </array>
3137//CHECK: </dict>
3138//CHECK: <dict>
3139//CHECK: <key>kind</key><string>event</string>
3140//CHECK: <key>location</key>
3141//CHECK: <dict>
3142//CHECK: <key>line</key><integer>110</integer>
3143//CHECK: <key>col</key><integer>22</integer>
3144//CHECK: <key>file</key><integer>0</integer>
3145//CHECK: </dict>
3146//CHECK: <key>ranges</key>
3147//CHECK: <array>
3148//CHECK: <array>
3149//CHECK: <dict>
3150//CHECK: <key>line</key><integer>110</integer>
3151//CHECK: <key>col</key><integer>22</integer>
3152//CHECK: <key>file</key><integer>0</integer>
3153//CHECK: </dict>
3154//CHECK: <dict>
3155//CHECK: <key>line</key><integer>110</integer>
3156//CHECK: <key>col</key><integer>31</integer>
3157//CHECK: <key>file</key><integer>0</integer>
3158//CHECK: </dict>
3159//CHECK: </array>
3160//CHECK: </array>
3161//CHECK: <key>depth</key><integer>1</integer>
3162//CHECK: <key>extended_message</key>
3163//CHECK: <string>Memory is allocated</string>
3164//CHECK: <key>message</key>
3165//CHECK: <string>Memory is allocated</string>
3166//CHECK: </dict>
3167//CHECK: <dict>
3168//CHECK: <key>kind</key><string>control</string>
3169//CHECK: <key>edges</key>
3170//CHECK: <array>
3171//CHECK: <dict>
3172//CHECK: <key>start</key>
3173//CHECK: <array>
3174//CHECK: <dict>
3175//CHECK: <key>line</key><integer>110</integer>
3176//CHECK: <key>col</key><integer>22</integer>
3177//CHECK: <key>file</key><integer>0</integer>
3178//CHECK: </dict>
3179//CHECK: <dict>
3180//CHECK: <key>line</key><integer>110</integer>
3181//CHECK: <key>col</key><integer>31</integer>
3182//CHECK: <key>file</key><integer>0</integer>
3183//CHECK: </dict>
3184//CHECK: </array>
3185//CHECK: <key>end</key>
3186//CHECK: <array>
3187//CHECK: <dict>
3188//CHECK: <key>line</key><integer>111</integer>
3189//CHECK: <key>col</key><integer>5</integer>
3190//CHECK: <key>file</key><integer>0</integer>
3191//CHECK: </dict>
3192//CHECK: <dict>
3193//CHECK: <key>line</key><integer>111</integer>
3194//CHECK: <key>col</key><integer>9</integer>
3195//CHECK: <key>file</key><integer>0</integer>
3196//CHECK: </dict>
3197//CHECK: </array>
3198//CHECK: </dict>
3199//CHECK: </array>
3200//CHECK: </dict>
3201//CHECK: <dict>
3202//CHECK: <key>kind</key><string>event</string>
3203//CHECK: <key>location</key>
3204//CHECK: <dict>
3205//CHECK: <key>line</key><integer>111</integer>
3206//CHECK: <key>col</key><integer>5</integer>
3207//CHECK: <key>file</key><integer>0</integer>
3208//CHECK: </dict>
Anna Zaks0b3ade82012-04-20 21:59:08 +00003209//CHECK: <key>depth</key><integer>1</integer>
3210//CHECK: <key>extended_message</key>
3211//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3212//CHECK: <key>message</key>
3213//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3214//CHECK: </dict>
3215//CHECK: </array>
3216//CHECK: <key>description</key><string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3217//CHECK: <key>category</key><string>Memory Error</string>
3218//CHECK: <key>type</key><string>Memory leak</string>
3219//CHECK: <key>issue_context_kind</key><string>function</string>
3220//CHECK: <key>issue_context</key><string>function_with_leak2</string>
3221//CHECK: <key>location</key>
3222//CHECK: <dict>
3223//CHECK: <key>line</key><integer>111</integer>
3224//CHECK: <key>col</key><integer>5</integer>
3225//CHECK: <key>file</key><integer>0</integer>
3226//CHECK: </dict>
3227//CHECK: </dict>
3228//CHECK: <dict>
3229//CHECK: <key>path</key>
3230//CHECK: <array>
3231//CHECK: <dict>
3232//CHECK: <key>kind</key><string>event</string>
3233//CHECK: <key>location</key>
3234//CHECK: <dict>
3235//CHECK: <key>line</key><integer>123</integer>
3236//CHECK: <key>col</key><integer>5</integer>
3237//CHECK: <key>file</key><integer>0</integer>
3238//CHECK: </dict>
3239//CHECK: <key>ranges</key>
3240//CHECK: <array>
3241//CHECK: <array>
3242//CHECK: <dict>
3243//CHECK: <key>line</key><integer>123</integer>
3244//CHECK: <key>col</key><integer>5</integer>
3245//CHECK: <key>file</key><integer>0</integer>
3246//CHECK: </dict>
3247//CHECK: <dict>
3248//CHECK: <key>line</key><integer>123</integer>
3249//CHECK: <key>col</key><integer>26</integer>
3250//CHECK: <key>file</key><integer>0</integer>
3251//CHECK: </dict>
3252//CHECK: </array>
3253//CHECK: </array>
3254//CHECK: <key>depth</key><integer>0</integer>
3255//CHECK: <key>extended_message</key>
3256//CHECK: <string>Calling &apos;function_with_leak3&apos;</string>
3257//CHECK: <key>message</key>
3258//CHECK: <string>Calling &apos;function_with_leak3&apos;</string>
3259//CHECK: </dict>
3260//CHECK: <dict>
3261//CHECK: <key>kind</key><string>event</string>
3262//CHECK: <key>location</key>
3263//CHECK: <dict>
3264//CHECK: <key>line</key><integer>117</integer>
3265//CHECK: <key>col</key><integer>1</integer>
3266//CHECK: <key>file</key><integer>0</integer>
3267//CHECK: </dict>
3268//CHECK: <key>depth</key><integer>1</integer>
3269//CHECK: <key>extended_message</key>
3270//CHECK: <string>Entered call from &apos;use_function_with_leak3&apos;</string>
3271//CHECK: <key>message</key>
3272//CHECK: <string>Entered call from &apos;use_function_with_leak3&apos;</string>
3273//CHECK: </dict>
3274//CHECK: <dict>
3275//CHECK: <key>kind</key><string>control</string>
3276//CHECK: <key>edges</key>
3277//CHECK: <array>
3278//CHECK: <dict>
3279//CHECK: <key>start</key>
3280//CHECK: <array>
3281//CHECK: <dict>
3282//CHECK: <key>line</key><integer>117</integer>
3283//CHECK: <key>col</key><integer>1</integer>
3284//CHECK: <key>file</key><integer>0</integer>
3285//CHECK: </dict>
3286//CHECK: <dict>
3287//CHECK: <key>line</key><integer>117</integer>
3288//CHECK: <key>col</key><integer>1</integer>
3289//CHECK: <key>file</key><integer>0</integer>
3290//CHECK: </dict>
3291//CHECK: </array>
3292//CHECK: <key>end</key>
3293//CHECK: <array>
3294//CHECK: <dict>
3295//CHECK: <key>line</key><integer>118</integer>
3296//CHECK: <key>col</key><integer>5</integer>
3297//CHECK: <key>file</key><integer>0</integer>
3298//CHECK: </dict>
3299//CHECK: <dict>
3300//CHECK: <key>line</key><integer>118</integer>
3301//CHECK: <key>col</key><integer>5</integer>
3302//CHECK: <key>file</key><integer>0</integer>
3303//CHECK: </dict>
3304//CHECK: </array>
3305//CHECK: </dict>
3306//CHECK: </array>
3307//CHECK: </dict>
3308//CHECK: <dict>
3309//CHECK: <key>kind</key><string>control</string>
3310//CHECK: <key>edges</key>
3311//CHECK: <array>
3312//CHECK: <dict>
3313//CHECK: <key>start</key>
3314//CHECK: <array>
3315//CHECK: <dict>
3316//CHECK: <key>line</key><integer>118</integer>
3317//CHECK: <key>col</key><integer>5</integer>
3318//CHECK: <key>file</key><integer>0</integer>
3319//CHECK: </dict>
3320//CHECK: <dict>
3321//CHECK: <key>line</key><integer>118</integer>
3322//CHECK: <key>col</key><integer>5</integer>
3323//CHECK: <key>file</key><integer>0</integer>
3324//CHECK: </dict>
3325//CHECK: </array>
3326//CHECK: <key>end</key>
3327//CHECK: <array>
3328//CHECK: <dict>
3329//CHECK: <key>line</key><integer>118</integer>
3330//CHECK: <key>col</key><integer>22</integer>
3331//CHECK: <key>file</key><integer>0</integer>
3332//CHECK: </dict>
3333//CHECK: <dict>
3334//CHECK: <key>line</key><integer>118</integer>
3335//CHECK: <key>col</key><integer>31</integer>
3336//CHECK: <key>file</key><integer>0</integer>
3337//CHECK: </dict>
3338//CHECK: </array>
3339//CHECK: </dict>
3340//CHECK: </array>
3341//CHECK: </dict>
3342//CHECK: <dict>
3343//CHECK: <key>kind</key><string>event</string>
3344//CHECK: <key>location</key>
3345//CHECK: <dict>
3346//CHECK: <key>line</key><integer>118</integer>
3347//CHECK: <key>col</key><integer>22</integer>
3348//CHECK: <key>file</key><integer>0</integer>
3349//CHECK: </dict>
3350//CHECK: <key>ranges</key>
3351//CHECK: <array>
3352//CHECK: <array>
3353//CHECK: <dict>
3354//CHECK: <key>line</key><integer>118</integer>
3355//CHECK: <key>col</key><integer>22</integer>
3356//CHECK: <key>file</key><integer>0</integer>
3357//CHECK: </dict>
3358//CHECK: <dict>
3359//CHECK: <key>line</key><integer>118</integer>
3360//CHECK: <key>col</key><integer>31</integer>
3361//CHECK: <key>file</key><integer>0</integer>
3362//CHECK: </dict>
3363//CHECK: </array>
3364//CHECK: </array>
3365//CHECK: <key>depth</key><integer>1</integer>
3366//CHECK: <key>extended_message</key>
3367//CHECK: <string>Memory is allocated</string>
3368//CHECK: <key>message</key>
3369//CHECK: <string>Memory is allocated</string>
3370//CHECK: </dict>
3371//CHECK: <dict>
3372//CHECK: <key>kind</key><string>control</string>
3373//CHECK: <key>edges</key>
3374//CHECK: <array>
3375//CHECK: <dict>
3376//CHECK: <key>start</key>
3377//CHECK: <array>
3378//CHECK: <dict>
3379//CHECK: <key>line</key><integer>118</integer>
3380//CHECK: <key>col</key><integer>22</integer>
3381//CHECK: <key>file</key><integer>0</integer>
3382//CHECK: </dict>
3383//CHECK: <dict>
3384//CHECK: <key>line</key><integer>118</integer>
3385//CHECK: <key>col</key><integer>31</integer>
3386//CHECK: <key>file</key><integer>0</integer>
3387//CHECK: </dict>
3388//CHECK: </array>
3389//CHECK: <key>end</key>
3390//CHECK: <array>
3391//CHECK: <dict>
3392//CHECK: <key>line</key><integer>119</integer>
3393//CHECK: <key>col</key><integer>5</integer>
3394//CHECK: <key>file</key><integer>0</integer>
3395//CHECK: </dict>
3396//CHECK: <dict>
3397//CHECK: <key>line</key><integer>119</integer>
3398//CHECK: <key>col</key><integer>5</integer>
3399//CHECK: <key>file</key><integer>0</integer>
3400//CHECK: </dict>
3401//CHECK: </array>
3402//CHECK: </dict>
3403//CHECK: </array>
3404//CHECK: </dict>
3405//CHECK: <dict>
3406//CHECK: <key>kind</key><string>control</string>
3407//CHECK: <key>edges</key>
3408//CHECK: <array>
3409//CHECK: <dict>
3410//CHECK: <key>start</key>
3411//CHECK: <array>
3412//CHECK: <dict>
3413//CHECK: <key>line</key><integer>119</integer>
3414//CHECK: <key>col</key><integer>5</integer>
3415//CHECK: <key>file</key><integer>0</integer>
3416//CHECK: </dict>
3417//CHECK: <dict>
3418//CHECK: <key>line</key><integer>119</integer>
3419//CHECK: <key>col</key><integer>5</integer>
3420//CHECK: <key>file</key><integer>0</integer>
3421//CHECK: </dict>
3422//CHECK: </array>
3423//CHECK: <key>end</key>
3424//CHECK: <array>
3425//CHECK: <dict>
3426//CHECK: <key>line</key><integer>119</integer>
3427//CHECK: <key>col</key><integer>9</integer>
3428//CHECK: <key>file</key><integer>0</integer>
3429//CHECK: </dict>
3430//CHECK: <dict>
3431//CHECK: <key>line</key><integer>119</integer>
3432//CHECK: <key>col</key><integer>9</integer>
3433//CHECK: <key>file</key><integer>0</integer>
3434//CHECK: </dict>
3435//CHECK: </array>
3436//CHECK: </dict>
3437//CHECK: </array>
3438//CHECK: </dict>
3439//CHECK: <dict>
3440//CHECK: <key>kind</key><string>control</string>
3441//CHECK: <key>edges</key>
3442//CHECK: <array>
3443//CHECK: <dict>
3444//CHECK: <key>start</key>
3445//CHECK: <array>
3446//CHECK: <dict>
3447//CHECK: <key>line</key><integer>119</integer>
3448//CHECK: <key>col</key><integer>9</integer>
3449//CHECK: <key>file</key><integer>0</integer>
3450//CHECK: </dict>
3451//CHECK: <dict>
3452//CHECK: <key>line</key><integer>119</integer>
3453//CHECK: <key>col</key><integer>9</integer>
3454//CHECK: <key>file</key><integer>0</integer>
3455//CHECK: </dict>
3456//CHECK: </array>
3457//CHECK: <key>end</key>
3458//CHECK: <array>
3459//CHECK: <dict>
3460//CHECK: <key>line</key><integer>120</integer>
3461//CHECK: <key>col</key><integer>9</integer>
3462//CHECK: <key>file</key><integer>0</integer>
3463//CHECK: </dict>
3464//CHECK: <dict>
3465//CHECK: <key>line</key><integer>120</integer>
3466//CHECK: <key>col</key><integer>9</integer>
3467//CHECK: <key>file</key><integer>0</integer>
3468//CHECK: </dict>
3469//CHECK: </array>
3470//CHECK: </dict>
3471//CHECK: </array>
3472//CHECK: </dict>
3473//CHECK: <dict>
3474//CHECK: <key>kind</key><string>event</string>
3475//CHECK: <key>location</key>
3476//CHECK: <dict>
3477//CHECK: <key>line</key><integer>120</integer>
3478//CHECK: <key>col</key><integer>9</integer>
3479//CHECK: <key>file</key><integer>0</integer>
3480//CHECK: </dict>
Anna Zaks0b3ade82012-04-20 21:59:08 +00003481//CHECK: <key>depth</key><integer>1</integer>
3482//CHECK: <key>extended_message</key>
3483//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3484//CHECK: <key>message</key>
3485//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3486//CHECK: </dict>
3487//CHECK: </array>
3488//CHECK: <key>description</key><string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3489//CHECK: <key>category</key><string>Memory Error</string>
3490//CHECK: <key>type</key><string>Memory leak</string>
3491//CHECK: <key>issue_context_kind</key><string>function</string>
3492//CHECK: <key>issue_context</key><string>function_with_leak3</string>
3493//CHECK: <key>location</key>
3494//CHECK: <dict>
3495//CHECK: <key>line</key><integer>120</integer>
3496//CHECK: <key>col</key><integer>9</integer>
3497//CHECK: <key>file</key><integer>0</integer>
3498//CHECK: </dict>
3499//CHECK: </dict>
3500//CHECK: <dict>
3501//CHECK: <key>path</key>
3502//CHECK: <array>
3503//CHECK: <dict>
3504//CHECK: <key>kind</key><string>event</string>
3505//CHECK: <key>location</key>
3506//CHECK: <dict>
3507//CHECK: <key>line</key><integer>134</integer>
3508//CHECK: <key>col</key><integer>5</integer>
3509//CHECK: <key>file</key><integer>0</integer>
3510//CHECK: </dict>
3511//CHECK: <key>ranges</key>
3512//CHECK: <array>
3513//CHECK: <array>
3514//CHECK: <dict>
3515//CHECK: <key>line</key><integer>134</integer>
3516//CHECK: <key>col</key><integer>5</integer>
3517//CHECK: <key>file</key><integer>0</integer>
3518//CHECK: </dict>
3519//CHECK: <dict>
3520//CHECK: <key>line</key><integer>134</integer>
3521//CHECK: <key>col</key><integer>26</integer>
3522//CHECK: <key>file</key><integer>0</integer>
3523//CHECK: </dict>
3524//CHECK: </array>
3525//CHECK: </array>
3526//CHECK: <key>depth</key><integer>0</integer>
3527//CHECK: <key>extended_message</key>
3528//CHECK: <string>Calling &apos;function_with_leak4&apos;</string>
3529//CHECK: <key>message</key>
3530//CHECK: <string>Calling &apos;function_with_leak4&apos;</string>
3531//CHECK: </dict>
3532//CHECK: <dict>
3533//CHECK: <key>kind</key><string>event</string>
3534//CHECK: <key>location</key>
3535//CHECK: <dict>
3536//CHECK: <key>line</key><integer>126</integer>
3537//CHECK: <key>col</key><integer>1</integer>
3538//CHECK: <key>file</key><integer>0</integer>
3539//CHECK: </dict>
3540//CHECK: <key>depth</key><integer>1</integer>
3541//CHECK: <key>extended_message</key>
3542//CHECK: <string>Entered call from &apos;use_function_with_leak4&apos;</string>
3543//CHECK: <key>message</key>
3544//CHECK: <string>Entered call from &apos;use_function_with_leak4&apos;</string>
3545//CHECK: </dict>
3546//CHECK: <dict>
3547//CHECK: <key>kind</key><string>control</string>
3548//CHECK: <key>edges</key>
3549//CHECK: <array>
3550//CHECK: <dict>
3551//CHECK: <key>start</key>
3552//CHECK: <array>
3553//CHECK: <dict>
3554//CHECK: <key>line</key><integer>126</integer>
3555//CHECK: <key>col</key><integer>1</integer>
3556//CHECK: <key>file</key><integer>0</integer>
3557//CHECK: </dict>
3558//CHECK: <dict>
3559//CHECK: <key>line</key><integer>126</integer>
3560//CHECK: <key>col</key><integer>1</integer>
3561//CHECK: <key>file</key><integer>0</integer>
3562//CHECK: </dict>
3563//CHECK: </array>
3564//CHECK: <key>end</key>
3565//CHECK: <array>
3566//CHECK: <dict>
3567//CHECK: <key>line</key><integer>127</integer>
3568//CHECK: <key>col</key><integer>5</integer>
3569//CHECK: <key>file</key><integer>0</integer>
3570//CHECK: </dict>
3571//CHECK: <dict>
3572//CHECK: <key>line</key><integer>127</integer>
3573//CHECK: <key>col</key><integer>5</integer>
3574//CHECK: <key>file</key><integer>0</integer>
3575//CHECK: </dict>
3576//CHECK: </array>
3577//CHECK: </dict>
3578//CHECK: </array>
3579//CHECK: </dict>
3580//CHECK: <dict>
3581//CHECK: <key>kind</key><string>control</string>
3582//CHECK: <key>edges</key>
3583//CHECK: <array>
3584//CHECK: <dict>
3585//CHECK: <key>start</key>
3586//CHECK: <array>
3587//CHECK: <dict>
3588//CHECK: <key>line</key><integer>127</integer>
3589//CHECK: <key>col</key><integer>5</integer>
3590//CHECK: <key>file</key><integer>0</integer>
3591//CHECK: </dict>
3592//CHECK: <dict>
3593//CHECK: <key>line</key><integer>127</integer>
3594//CHECK: <key>col</key><integer>5</integer>
3595//CHECK: <key>file</key><integer>0</integer>
3596//CHECK: </dict>
3597//CHECK: </array>
3598//CHECK: <key>end</key>
3599//CHECK: <array>
3600//CHECK: <dict>
3601//CHECK: <key>line</key><integer>127</integer>
3602//CHECK: <key>col</key><integer>22</integer>
3603//CHECK: <key>file</key><integer>0</integer>
3604//CHECK: </dict>
3605//CHECK: <dict>
3606//CHECK: <key>line</key><integer>127</integer>
3607//CHECK: <key>col</key><integer>31</integer>
3608//CHECK: <key>file</key><integer>0</integer>
3609//CHECK: </dict>
3610//CHECK: </array>
3611//CHECK: </dict>
3612//CHECK: </array>
3613//CHECK: </dict>
3614//CHECK: <dict>
3615//CHECK: <key>kind</key><string>event</string>
3616//CHECK: <key>location</key>
3617//CHECK: <dict>
3618//CHECK: <key>line</key><integer>127</integer>
3619//CHECK: <key>col</key><integer>22</integer>
3620//CHECK: <key>file</key><integer>0</integer>
3621//CHECK: </dict>
3622//CHECK: <key>ranges</key>
3623//CHECK: <array>
3624//CHECK: <array>
3625//CHECK: <dict>
3626//CHECK: <key>line</key><integer>127</integer>
3627//CHECK: <key>col</key><integer>22</integer>
3628//CHECK: <key>file</key><integer>0</integer>
3629//CHECK: </dict>
3630//CHECK: <dict>
3631//CHECK: <key>line</key><integer>127</integer>
3632//CHECK: <key>col</key><integer>31</integer>
3633//CHECK: <key>file</key><integer>0</integer>
3634//CHECK: </dict>
3635//CHECK: </array>
3636//CHECK: </array>
3637//CHECK: <key>depth</key><integer>1</integer>
3638//CHECK: <key>extended_message</key>
3639//CHECK: <string>Memory is allocated</string>
3640//CHECK: <key>message</key>
3641//CHECK: <string>Memory is allocated</string>
3642//CHECK: </dict>
3643//CHECK: <dict>
3644//CHECK: <key>kind</key><string>control</string>
3645//CHECK: <key>edges</key>
3646//CHECK: <array>
3647//CHECK: <dict>
3648//CHECK: <key>start</key>
3649//CHECK: <array>
3650//CHECK: <dict>
3651//CHECK: <key>line</key><integer>127</integer>
3652//CHECK: <key>col</key><integer>22</integer>
3653//CHECK: <key>file</key><integer>0</integer>
3654//CHECK: </dict>
3655//CHECK: <dict>
3656//CHECK: <key>line</key><integer>127</integer>
3657//CHECK: <key>col</key><integer>31</integer>
3658//CHECK: <key>file</key><integer>0</integer>
3659//CHECK: </dict>
3660//CHECK: </array>
3661//CHECK: <key>end</key>
3662//CHECK: <array>
3663//CHECK: <dict>
3664//CHECK: <key>line</key><integer>128</integer>
3665//CHECK: <key>col</key><integer>5</integer>
3666//CHECK: <key>file</key><integer>0</integer>
3667//CHECK: </dict>
3668//CHECK: <dict>
3669//CHECK: <key>line</key><integer>128</integer>
3670//CHECK: <key>col</key><integer>5</integer>
3671//CHECK: <key>file</key><integer>0</integer>
3672//CHECK: </dict>
3673//CHECK: </array>
3674//CHECK: </dict>
3675//CHECK: </array>
3676//CHECK: </dict>
3677//CHECK: <dict>
3678//CHECK: <key>kind</key><string>control</string>
3679//CHECK: <key>edges</key>
3680//CHECK: <array>
3681//CHECK: <dict>
3682//CHECK: <key>start</key>
3683//CHECK: <array>
3684//CHECK: <dict>
3685//CHECK: <key>line</key><integer>128</integer>
3686//CHECK: <key>col</key><integer>5</integer>
3687//CHECK: <key>file</key><integer>0</integer>
3688//CHECK: </dict>
3689//CHECK: <dict>
3690//CHECK: <key>line</key><integer>128</integer>
3691//CHECK: <key>col</key><integer>5</integer>
3692//CHECK: <key>file</key><integer>0</integer>
3693//CHECK: </dict>
3694//CHECK: </array>
3695//CHECK: <key>end</key>
3696//CHECK: <array>
3697//CHECK: <dict>
3698//CHECK: <key>line</key><integer>128</integer>
3699//CHECK: <key>col</key><integer>9</integer>
3700//CHECK: <key>file</key><integer>0</integer>
3701//CHECK: </dict>
3702//CHECK: <dict>
3703//CHECK: <key>line</key><integer>128</integer>
3704//CHECK: <key>col</key><integer>9</integer>
3705//CHECK: <key>file</key><integer>0</integer>
3706//CHECK: </dict>
3707//CHECK: </array>
3708//CHECK: </dict>
3709//CHECK: </array>
3710//CHECK: </dict>
3711//CHECK: <dict>
3712//CHECK: <key>kind</key><string>control</string>
3713//CHECK: <key>edges</key>
3714//CHECK: <array>
3715//CHECK: <dict>
3716//CHECK: <key>start</key>
3717//CHECK: <array>
3718//CHECK: <dict>
3719//CHECK: <key>line</key><integer>128</integer>
3720//CHECK: <key>col</key><integer>9</integer>
3721//CHECK: <key>file</key><integer>0</integer>
3722//CHECK: </dict>
3723//CHECK: <dict>
3724//CHECK: <key>line</key><integer>128</integer>
3725//CHECK: <key>col</key><integer>9</integer>
3726//CHECK: <key>file</key><integer>0</integer>
3727//CHECK: </dict>
3728//CHECK: </array>
3729//CHECK: <key>end</key>
3730//CHECK: <array>
3731//CHECK: <dict>
3732//CHECK: <key>line</key><integer>131</integer>
3733//CHECK: <key>col</key><integer>9</integer>
3734//CHECK: <key>file</key><integer>0</integer>
3735//CHECK: </dict>
3736//CHECK: <dict>
3737//CHECK: <key>line</key><integer>131</integer>
3738//CHECK: <key>col</key><integer>9</integer>
3739//CHECK: <key>file</key><integer>0</integer>
3740//CHECK: </dict>
3741//CHECK: </array>
3742//CHECK: </dict>
3743//CHECK: </array>
3744//CHECK: </dict>
3745//CHECK: <dict>
3746//CHECK: <key>kind</key><string>event</string>
3747//CHECK: <key>location</key>
3748//CHECK: <dict>
3749//CHECK: <key>line</key><integer>131</integer>
3750//CHECK: <key>col</key><integer>9</integer>
3751//CHECK: <key>file</key><integer>0</integer>
3752//CHECK: </dict>
Anna Zaks0b3ade82012-04-20 21:59:08 +00003753//CHECK: <key>depth</key><integer>1</integer>
3754//CHECK: <key>extended_message</key>
3755//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3756//CHECK: <key>message</key>
3757//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3758//CHECK: </dict>
3759//CHECK: </array>
3760//CHECK: <key>description</key><string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3761//CHECK: <key>category</key><string>Memory Error</string>
3762//CHECK: <key>type</key><string>Memory leak</string>
3763//CHECK: <key>issue_context_kind</key><string>function</string>
3764//CHECK: <key>issue_context</key><string>function_with_leak4</string>
3765//CHECK: <key>location</key>
3766//CHECK: <dict>
3767//CHECK: <key>line</key><integer>131</integer>
3768//CHECK: <key>col</key><integer>9</integer>
3769//CHECK: <key>file</key><integer>0</integer>
3770//CHECK: </dict>
3771//CHECK: </dict>
3772//CHECK: <dict>
3773//CHECK: <key>path</key>
3774//CHECK: <array>
3775//CHECK: <dict>
3776//CHECK: <key>kind</key><string>event</string>
3777//CHECK: <key>location</key>
3778//CHECK: <dict>
3779//CHECK: <key>line</key><integer>145</integer>
3780//CHECK: <key>col</key><integer>5</integer>
3781//CHECK: <key>file</key><integer>0</integer>
3782//CHECK: </dict>
3783//CHECK: <key>ranges</key>
3784//CHECK: <array>
3785//CHECK: <array>
3786//CHECK: <dict>
3787//CHECK: <key>line</key><integer>145</integer>
3788//CHECK: <key>col</key><integer>5</integer>
3789//CHECK: <key>file</key><integer>0</integer>
3790//CHECK: </dict>
3791//CHECK: <dict>
3792//CHECK: <key>line</key><integer>145</integer>
3793//CHECK: <key>col</key><integer>25</integer>
3794//CHECK: <key>file</key><integer>0</integer>
3795//CHECK: </dict>
3796//CHECK: </array>
3797//CHECK: </array>
3798//CHECK: <key>depth</key><integer>0</integer>
3799//CHECK: <key>extended_message</key>
3800//CHECK: <string>Calling &apos;function_with_leak5&apos;</string>
3801//CHECK: <key>message</key>
3802//CHECK: <string>Calling &apos;function_with_leak5&apos;</string>
3803//CHECK: </dict>
3804//CHECK: <dict>
3805//CHECK: <key>kind</key><string>event</string>
3806//CHECK: <key>location</key>
3807//CHECK: <dict>
3808//CHECK: <key>line</key><integer>140</integer>
3809//CHECK: <key>col</key><integer>1</integer>
3810//CHECK: <key>file</key><integer>0</integer>
3811//CHECK: </dict>
3812//CHECK: <key>depth</key><integer>1</integer>
3813//CHECK: <key>extended_message</key>
3814//CHECK: <string>Entered call from &apos;use_function_with_leak5&apos;</string>
3815//CHECK: <key>message</key>
3816//CHECK: <string>Entered call from &apos;use_function_with_leak5&apos;</string>
3817//CHECK: </dict>
3818//CHECK: <dict>
3819//CHECK: <key>kind</key><string>control</string>
3820//CHECK: <key>edges</key>
3821//CHECK: <array>
3822//CHECK: <dict>
3823//CHECK: <key>start</key>
3824//CHECK: <array>
3825//CHECK: <dict>
3826//CHECK: <key>line</key><integer>140</integer>
3827//CHECK: <key>col</key><integer>1</integer>
3828//CHECK: <key>file</key><integer>0</integer>
3829//CHECK: </dict>
3830//CHECK: <dict>
3831//CHECK: <key>line</key><integer>140</integer>
3832//CHECK: <key>col</key><integer>1</integer>
3833//CHECK: <key>file</key><integer>0</integer>
3834//CHECK: </dict>
3835//CHECK: </array>
3836//CHECK: <key>end</key>
3837//CHECK: <array>
3838//CHECK: <dict>
3839//CHECK: <key>line</key><integer>141</integer>
3840//CHECK: <key>col</key><integer>5</integer>
3841//CHECK: <key>file</key><integer>0</integer>
3842//CHECK: </dict>
3843//CHECK: <dict>
3844//CHECK: <key>line</key><integer>141</integer>
3845//CHECK: <key>col</key><integer>5</integer>
3846//CHECK: <key>file</key><integer>0</integer>
3847//CHECK: </dict>
3848//CHECK: </array>
3849//CHECK: </dict>
3850//CHECK: </array>
3851//CHECK: </dict>
3852//CHECK: <dict>
3853//CHECK: <key>kind</key><string>control</string>
3854//CHECK: <key>edges</key>
3855//CHECK: <array>
3856//CHECK: <dict>
3857//CHECK: <key>start</key>
3858//CHECK: <array>
3859//CHECK: <dict>
3860//CHECK: <key>line</key><integer>141</integer>
3861//CHECK: <key>col</key><integer>5</integer>
3862//CHECK: <key>file</key><integer>0</integer>
3863//CHECK: </dict>
3864//CHECK: <dict>
3865//CHECK: <key>line</key><integer>141</integer>
3866//CHECK: <key>col</key><integer>5</integer>
3867//CHECK: <key>file</key><integer>0</integer>
3868//CHECK: </dict>
3869//CHECK: </array>
3870//CHECK: <key>end</key>
3871//CHECK: <array>
3872//CHECK: <dict>
3873//CHECK: <key>line</key><integer>141</integer>
3874//CHECK: <key>col</key><integer>22</integer>
3875//CHECK: <key>file</key><integer>0</integer>
3876//CHECK: </dict>
3877//CHECK: <dict>
3878//CHECK: <key>line</key><integer>141</integer>
3879//CHECK: <key>col</key><integer>31</integer>
3880//CHECK: <key>file</key><integer>0</integer>
3881//CHECK: </dict>
3882//CHECK: </array>
3883//CHECK: </dict>
3884//CHECK: </array>
3885//CHECK: </dict>
3886//CHECK: <dict>
3887//CHECK: <key>kind</key><string>event</string>
3888//CHECK: <key>location</key>
3889//CHECK: <dict>
3890//CHECK: <key>line</key><integer>141</integer>
3891//CHECK: <key>col</key><integer>22</integer>
3892//CHECK: <key>file</key><integer>0</integer>
3893//CHECK: </dict>
3894//CHECK: <key>ranges</key>
3895//CHECK: <array>
3896//CHECK: <array>
3897//CHECK: <dict>
3898//CHECK: <key>line</key><integer>141</integer>
3899//CHECK: <key>col</key><integer>22</integer>
3900//CHECK: <key>file</key><integer>0</integer>
3901//CHECK: </dict>
3902//CHECK: <dict>
3903//CHECK: <key>line</key><integer>141</integer>
3904//CHECK: <key>col</key><integer>31</integer>
3905//CHECK: <key>file</key><integer>0</integer>
3906//CHECK: </dict>
3907//CHECK: </array>
3908//CHECK: </array>
3909//CHECK: <key>depth</key><integer>1</integer>
3910//CHECK: <key>extended_message</key>
3911//CHECK: <string>Memory is allocated</string>
3912//CHECK: <key>message</key>
3913//CHECK: <string>Memory is allocated</string>
3914//CHECK: </dict>
3915//CHECK: <dict>
3916//CHECK: <key>kind</key><string>control</string>
3917//CHECK: <key>edges</key>
3918//CHECK: <array>
3919//CHECK: <dict>
3920//CHECK: <key>start</key>
3921//CHECK: <array>
3922//CHECK: <dict>
3923//CHECK: <key>line</key><integer>141</integer>
3924//CHECK: <key>col</key><integer>22</integer>
3925//CHECK: <key>file</key><integer>0</integer>
3926//CHECK: </dict>
3927//CHECK: <dict>
3928//CHECK: <key>line</key><integer>141</integer>
3929//CHECK: <key>col</key><integer>31</integer>
3930//CHECK: <key>file</key><integer>0</integer>
3931//CHECK: </dict>
3932//CHECK: </array>
3933//CHECK: <key>end</key>
3934//CHECK: <array>
3935//CHECK: <dict>
3936//CHECK: <key>line</key><integer>142</integer>
Anna Zaks0b3ade82012-04-20 21:59:08 +00003937//CHECK: <key>col</key><integer>12</integer>
3938//CHECK: <key>file</key><integer>0</integer>
3939//CHECK: </dict>
3940//CHECK: <dict>
3941//CHECK: <key>line</key><integer>142</integer>
3942//CHECK: <key>col</key><integer>29</integer>
3943//CHECK: <key>file</key><integer>0</integer>
3944//CHECK: </dict>
3945//CHECK: </array>
3946//CHECK: </dict>
3947//CHECK: </array>
3948//CHECK: </dict>
3949//CHECK: <dict>
3950//CHECK: <key>kind</key><string>event</string>
3951//CHECK: <key>location</key>
3952//CHECK: <dict>
3953//CHECK: <key>line</key><integer>142</integer>
3954//CHECK: <key>col</key><integer>12</integer>
3955//CHECK: <key>file</key><integer>0</integer>
3956//CHECK: </dict>
Anna Zaks0b3ade82012-04-20 21:59:08 +00003957//CHECK: <key>depth</key><integer>1</integer>
3958//CHECK: <key>extended_message</key>
3959//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3960//CHECK: <key>message</key>
3961//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3962//CHECK: </dict>
3963//CHECK: </array>
3964//CHECK: <key>description</key><string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
3965//CHECK: <key>category</key><string>Memory Error</string>
3966//CHECK: <key>type</key><string>Memory leak</string>
3967//CHECK: <key>issue_context_kind</key><string>function</string>
3968//CHECK: <key>issue_context</key><string>function_with_leak5</string>
3969//CHECK: <key>location</key>
3970//CHECK: <dict>
3971//CHECK: <key>line</key><integer>142</integer>
3972//CHECK: <key>col</key><integer>12</integer>
3973//CHECK: <key>file</key><integer>0</integer>
3974//CHECK: </dict>
3975//CHECK: </dict>
3976//CHECK: <dict>
3977//CHECK: <key>path</key>
3978//CHECK: <array>
3979//CHECK: <dict>
3980//CHECK: <key>kind</key><string>event</string>
3981//CHECK: <key>location</key>
3982//CHECK: <dict>
3983//CHECK: <key>line</key><integer>156</integer>
3984//CHECK: <key>col</key><integer>5</integer>
3985//CHECK: <key>file</key><integer>0</integer>
3986//CHECK: </dict>
3987//CHECK: <key>ranges</key>
3988//CHECK: <array>
3989//CHECK: <array>
3990//CHECK: <dict>
3991//CHECK: <key>line</key><integer>156</integer>
3992//CHECK: <key>col</key><integer>5</integer>
3993//CHECK: <key>file</key><integer>0</integer>
3994//CHECK: </dict>
3995//CHECK: <dict>
3996//CHECK: <key>line</key><integer>156</integer>
3997//CHECK: <key>col</key><integer>25</integer>
3998//CHECK: <key>file</key><integer>0</integer>
3999//CHECK: </dict>
4000//CHECK: </array>
4001//CHECK: </array>
4002//CHECK: <key>depth</key><integer>0</integer>
4003//CHECK: <key>extended_message</key>
4004//CHECK: <string>Calling &apos;function_with_leak6&apos;</string>
4005//CHECK: <key>message</key>
4006//CHECK: <string>Calling &apos;function_with_leak6&apos;</string>
4007//CHECK: </dict>
4008//CHECK: <dict>
4009//CHECK: <key>kind</key><string>event</string>
4010//CHECK: <key>location</key>
4011//CHECK: <dict>
4012//CHECK: <key>line</key><integer>151</integer>
4013//CHECK: <key>col</key><integer>1</integer>
4014//CHECK: <key>file</key><integer>0</integer>
4015//CHECK: </dict>
4016//CHECK: <key>depth</key><integer>1</integer>
4017//CHECK: <key>extended_message</key>
4018//CHECK: <string>Entered call from &apos;use_function_with_leak6&apos;</string>
4019//CHECK: <key>message</key>
4020//CHECK: <string>Entered call from &apos;use_function_with_leak6&apos;</string>
4021//CHECK: </dict>
4022//CHECK: <dict>
4023//CHECK: <key>kind</key><string>control</string>
4024//CHECK: <key>edges</key>
4025//CHECK: <array>
4026//CHECK: <dict>
4027//CHECK: <key>start</key>
4028//CHECK: <array>
4029//CHECK: <dict>
4030//CHECK: <key>line</key><integer>151</integer>
4031//CHECK: <key>col</key><integer>1</integer>
4032//CHECK: <key>file</key><integer>0</integer>
4033//CHECK: </dict>
4034//CHECK: <dict>
4035//CHECK: <key>line</key><integer>151</integer>
4036//CHECK: <key>col</key><integer>1</integer>
4037//CHECK: <key>file</key><integer>0</integer>
4038//CHECK: </dict>
4039//CHECK: </array>
4040//CHECK: <key>end</key>
4041//CHECK: <array>
4042//CHECK: <dict>
4043//CHECK: <key>line</key><integer>152</integer>
4044//CHECK: <key>col</key><integer>5</integer>
4045//CHECK: <key>file</key><integer>0</integer>
4046//CHECK: </dict>
4047//CHECK: <dict>
4048//CHECK: <key>line</key><integer>152</integer>
4049//CHECK: <key>col</key><integer>5</integer>
4050//CHECK: <key>file</key><integer>0</integer>
4051//CHECK: </dict>
4052//CHECK: </array>
4053//CHECK: </dict>
4054//CHECK: </array>
4055//CHECK: </dict>
4056//CHECK: <dict>
4057//CHECK: <key>kind</key><string>control</string>
4058//CHECK: <key>edges</key>
4059//CHECK: <array>
4060//CHECK: <dict>
4061//CHECK: <key>start</key>
4062//CHECK: <array>
4063//CHECK: <dict>
4064//CHECK: <key>line</key><integer>152</integer>
4065//CHECK: <key>col</key><integer>5</integer>
4066//CHECK: <key>file</key><integer>0</integer>
4067//CHECK: </dict>
4068//CHECK: <dict>
4069//CHECK: <key>line</key><integer>152</integer>
4070//CHECK: <key>col</key><integer>5</integer>
4071//CHECK: <key>file</key><integer>0</integer>
4072//CHECK: </dict>
4073//CHECK: </array>
4074//CHECK: <key>end</key>
4075//CHECK: <array>
4076//CHECK: <dict>
4077//CHECK: <key>line</key><integer>152</integer>
4078//CHECK: <key>col</key><integer>22</integer>
4079//CHECK: <key>file</key><integer>0</integer>
4080//CHECK: </dict>
4081//CHECK: <dict>
4082//CHECK: <key>line</key><integer>152</integer>
4083//CHECK: <key>col</key><integer>31</integer>
4084//CHECK: <key>file</key><integer>0</integer>
4085//CHECK: </dict>
4086//CHECK: </array>
4087//CHECK: </dict>
4088//CHECK: </array>
4089//CHECK: </dict>
4090//CHECK: <dict>
4091//CHECK: <key>kind</key><string>event</string>
4092//CHECK: <key>location</key>
4093//CHECK: <dict>
4094//CHECK: <key>line</key><integer>152</integer>
4095//CHECK: <key>col</key><integer>22</integer>
4096//CHECK: <key>file</key><integer>0</integer>
4097//CHECK: </dict>
4098//CHECK: <key>ranges</key>
4099//CHECK: <array>
4100//CHECK: <array>
4101//CHECK: <dict>
4102//CHECK: <key>line</key><integer>152</integer>
4103//CHECK: <key>col</key><integer>22</integer>
4104//CHECK: <key>file</key><integer>0</integer>
4105//CHECK: </dict>
4106//CHECK: <dict>
4107//CHECK: <key>line</key><integer>152</integer>
4108//CHECK: <key>col</key><integer>31</integer>
4109//CHECK: <key>file</key><integer>0</integer>
4110//CHECK: </dict>
4111//CHECK: </array>
4112//CHECK: </array>
4113//CHECK: <key>depth</key><integer>1</integer>
4114//CHECK: <key>extended_message</key>
4115//CHECK: <string>Memory is allocated</string>
4116//CHECK: <key>message</key>
4117//CHECK: <string>Memory is allocated</string>
4118//CHECK: </dict>
4119//CHECK: <dict>
4120//CHECK: <key>kind</key><string>control</string>
4121//CHECK: <key>edges</key>
4122//CHECK: <array>
4123//CHECK: <dict>
4124//CHECK: <key>start</key>
4125//CHECK: <array>
4126//CHECK: <dict>
4127//CHECK: <key>line</key><integer>152</integer>
4128//CHECK: <key>col</key><integer>22</integer>
4129//CHECK: <key>file</key><integer>0</integer>
4130//CHECK: </dict>
4131//CHECK: <dict>
4132//CHECK: <key>line</key><integer>152</integer>
4133//CHECK: <key>col</key><integer>31</integer>
4134//CHECK: <key>file</key><integer>0</integer>
4135//CHECK: </dict>
4136//CHECK: </array>
4137//CHECK: <key>end</key>
4138//CHECK: <array>
4139//CHECK: <dict>
4140//CHECK: <key>line</key><integer>153</integer>
4141//CHECK: <key>col</key><integer>5</integer>
4142//CHECK: <key>file</key><integer>0</integer>
4143//CHECK: </dict>
4144//CHECK: <dict>
4145//CHECK: <key>line</key><integer>153</integer>
4146//CHECK: <key>col</key><integer>23</integer>
4147//CHECK: <key>file</key><integer>0</integer>
4148//CHECK: </dict>
4149//CHECK: </array>
4150//CHECK: </dict>
4151//CHECK: </array>
4152//CHECK: </dict>
4153//CHECK: <dict>
4154//CHECK: <key>kind</key><string>event</string>
4155//CHECK: <key>location</key>
4156//CHECK: <dict>
4157//CHECK: <key>line</key><integer>153</integer>
4158//CHECK: <key>col</key><integer>5</integer>
4159//CHECK: <key>file</key><integer>0</integer>
4160//CHECK: </dict>
Anna Zaks0b3ade82012-04-20 21:59:08 +00004161//CHECK: <key>depth</key><integer>1</integer>
4162//CHECK: <key>extended_message</key>
4163//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
4164//CHECK: <key>message</key>
4165//CHECK: <string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
4166//CHECK: </dict>
4167//CHECK: </array>
4168//CHECK: <key>description</key><string>Memory is never released; potential leak of memory pointed to by &apos;x&apos;</string>
4169//CHECK: <key>category</key><string>Memory Error</string>
4170//CHECK: <key>type</key><string>Memory leak</string>
4171//CHECK: <key>issue_context_kind</key><string>function</string>
4172//CHECK: <key>issue_context</key><string>function_with_leak6</string>
4173//CHECK: <key>location</key>
4174//CHECK: <dict>
4175//CHECK: <key>line</key><integer>153</integer>
4176//CHECK: <key>col</key><integer>5</integer>
4177//CHECK: <key>file</key><integer>0</integer>
4178//CHECK: </dict>
4179//CHECK: </dict>
4180//CHECK: <dict>
4181//CHECK: <key>path</key>
4182//CHECK: <array>
4183//CHECK: <dict>
4184//CHECK: <key>kind</key><string>event</string>
4185//CHECK: <key>location</key>
4186//CHECK: <dict>
4187//CHECK: <key>line</key><integer>168</integer>
4188//CHECK: <key>col</key><integer>5</integer>
4189//CHECK: <key>file</key><integer>0</integer>
4190//CHECK: </dict>
4191//CHECK: <key>ranges</key>
4192//CHECK: <array>
4193//CHECK: <array>
4194//CHECK: <dict>
4195//CHECK: <key>line</key><integer>168</integer>
4196//CHECK: <key>col</key><integer>5</integer>
4197//CHECK: <key>file</key><integer>0</integer>
4198//CHECK: </dict>
4199//CHECK: <dict>
4200//CHECK: <key>line</key><integer>168</integer>
4201//CHECK: <key>col</key><integer>25</integer>
4202//CHECK: <key>file</key><integer>0</integer>
4203//CHECK: </dict>
4204//CHECK: </array>
4205//CHECK: </array>
4206//CHECK: <key>depth</key><integer>0</integer>
4207//CHECK: <key>extended_message</key>
4208//CHECK: <string>Calling &apos;function_with_leak7&apos;</string>
4209//CHECK: <key>message</key>
4210//CHECK: <string>Calling &apos;function_with_leak7&apos;</string>
4211//CHECK: </dict>
4212//CHECK: <dict>
4213//CHECK: <key>kind</key><string>event</string>
4214//CHECK: <key>location</key>
4215//CHECK: <dict>
4216//CHECK: <key>line</key><integer>164</integer>
4217//CHECK: <key>col</key><integer>1</integer>
4218//CHECK: <key>file</key><integer>0</integer>
4219//CHECK: </dict>
4220//CHECK: <key>depth</key><integer>1</integer>
4221//CHECK: <key>extended_message</key>
4222//CHECK: <string>Entered call from &apos;use_function_with_leak7&apos;</string>
4223//CHECK: <key>message</key>
4224//CHECK: <string>Entered call from &apos;use_function_with_leak7&apos;</string>
4225//CHECK: </dict>
4226//CHECK: <dict>
4227//CHECK: <key>kind</key><string>control</string>
4228//CHECK: <key>edges</key>
4229//CHECK: <array>
4230//CHECK: <dict>
4231//CHECK: <key>start</key>
4232//CHECK: <array>
4233//CHECK: <dict>
4234//CHECK: <key>line</key><integer>164</integer>
4235//CHECK: <key>col</key><integer>1</integer>
4236//CHECK: <key>file</key><integer>0</integer>
4237//CHECK: </dict>
4238//CHECK: <dict>
4239//CHECK: <key>line</key><integer>164</integer>
4240//CHECK: <key>col</key><integer>1</integer>
4241//CHECK: <key>file</key><integer>0</integer>
4242//CHECK: </dict>
4243//CHECK: </array>
4244//CHECK: <key>end</key>
4245//CHECK: <array>
4246//CHECK: <dict>
4247//CHECK: <key>line</key><integer>165</integer>
4248//CHECK: <key>col</key><integer>5</integer>
4249//CHECK: <key>file</key><integer>0</integer>
4250//CHECK: </dict>
4251//CHECK: <dict>
4252//CHECK: <key>line</key><integer>165</integer>
4253//CHECK: <key>col</key><integer>5</integer>
4254//CHECK: <key>file</key><integer>0</integer>
4255//CHECK: </dict>
4256//CHECK: </array>
4257//CHECK: </dict>
4258//CHECK: </array>
4259//CHECK: </dict>
4260//CHECK: <dict>
4261//CHECK: <key>kind</key><string>control</string>
4262//CHECK: <key>edges</key>
4263//CHECK: <array>
4264//CHECK: <dict>
4265//CHECK: <key>start</key>
4266//CHECK: <array>
4267//CHECK: <dict>
4268//CHECK: <key>line</key><integer>165</integer>
4269//CHECK: <key>col</key><integer>5</integer>
4270//CHECK: <key>file</key><integer>0</integer>
4271//CHECK: </dict>
4272//CHECK: <dict>
4273//CHECK: <key>line</key><integer>165</integer>
4274//CHECK: <key>col</key><integer>5</integer>
4275//CHECK: <key>file</key><integer>0</integer>
4276//CHECK: </dict>
4277//CHECK: </array>
4278//CHECK: <key>end</key>
4279//CHECK: <array>
4280//CHECK: <dict>
4281//CHECK: <key>line</key><integer>165</integer>
4282//CHECK: <key>col</key><integer>19</integer>
4283//CHECK: <key>file</key><integer>0</integer>
4284//CHECK: </dict>
4285//CHECK: <dict>
4286//CHECK: <key>line</key><integer>165</integer>
4287//CHECK: <key>col</key><integer>28</integer>
4288//CHECK: <key>file</key><integer>0</integer>
4289//CHECK: </dict>
4290//CHECK: </array>
4291//CHECK: </dict>
4292//CHECK: </array>
4293//CHECK: </dict>
4294//CHECK: <dict>
4295//CHECK: <key>kind</key><string>event</string>
4296//CHECK: <key>location</key>
4297//CHECK: <dict>
4298//CHECK: <key>line</key><integer>165</integer>
4299//CHECK: <key>col</key><integer>19</integer>
4300//CHECK: <key>file</key><integer>0</integer>
4301//CHECK: </dict>
4302//CHECK: <key>ranges</key>
4303//CHECK: <array>
4304//CHECK: <array>
4305//CHECK: <dict>
4306//CHECK: <key>line</key><integer>165</integer>
4307//CHECK: <key>col</key><integer>19</integer>
4308//CHECK: <key>file</key><integer>0</integer>
4309//CHECK: </dict>
4310//CHECK: <dict>
4311//CHECK: <key>line</key><integer>165</integer>
4312//CHECK: <key>col</key><integer>28</integer>
4313//CHECK: <key>file</key><integer>0</integer>
4314//CHECK: </dict>
4315//CHECK: </array>
4316//CHECK: </array>
4317//CHECK: <key>depth</key><integer>1</integer>
4318//CHECK: <key>extended_message</key>
4319//CHECK: <string>Memory is allocated</string>
4320//CHECK: <key>message</key>
4321//CHECK: <string>Memory is allocated</string>
4322//CHECK: </dict>
4323//CHECK: <dict>
4324//CHECK: <key>kind</key><string>event</string>
4325//CHECK: <key>location</key>
4326//CHECK: <dict>
4327//CHECK: <key>line</key><integer>168</integer>
4328//CHECK: <key>col</key><integer>5</integer>
4329//CHECK: <key>file</key><integer>0</integer>
4330//CHECK: </dict>
4331//CHECK: <key>ranges</key>
4332//CHECK: <array>
4333//CHECK: <array>
4334//CHECK: <dict>
4335//CHECK: <key>line</key><integer>168</integer>
4336//CHECK: <key>col</key><integer>5</integer>
4337//CHECK: <key>file</key><integer>0</integer>
4338//CHECK: </dict>
4339//CHECK: <dict>
4340//CHECK: <key>line</key><integer>168</integer>
4341//CHECK: <key>col</key><integer>25</integer>
4342//CHECK: <key>file</key><integer>0</integer>
4343//CHECK: </dict>
4344//CHECK: </array>
4345//CHECK: </array>
4346//CHECK: <key>depth</key><integer>1</integer>
4347//CHECK: <key>extended_message</key>
4348//CHECK: <string>Returned allocated memory</string>
4349//CHECK: <key>message</key>
4350//CHECK: <string>Returned allocated memory</string>
4351//CHECK: </dict>
4352//CHECK: <dict>
4353//CHECK: <key>kind</key><string>control</string>
4354//CHECK: <key>edges</key>
4355//CHECK: <array>
4356//CHECK: <dict>
4357//CHECK: <key>start</key>
4358//CHECK: <array>
4359//CHECK: <dict>
4360//CHECK: <key>line</key><integer>168</integer>
4361//CHECK: <key>col</key><integer>5</integer>
4362//CHECK: <key>file</key><integer>0</integer>
4363//CHECK: </dict>
4364//CHECK: <dict>
4365//CHECK: <key>line</key><integer>168</integer>
4366//CHECK: <key>col</key><integer>25</integer>
4367//CHECK: <key>file</key><integer>0</integer>
4368//CHECK: </dict>
4369//CHECK: </array>
4370//CHECK: <key>end</key>
4371//CHECK: <array>
4372//CHECK: <dict>
4373//CHECK: <key>line</key><integer>169</integer>
4374//CHECK: <key>col</key><integer>1</integer>
4375//CHECK: <key>file</key><integer>0</integer>
4376//CHECK: </dict>
4377//CHECK: <dict>
4378//CHECK: <key>line</key><integer>169</integer>
4379//CHECK: <key>col</key><integer>1</integer>
4380//CHECK: <key>file</key><integer>0</integer>
4381//CHECK: </dict>
4382//CHECK: </array>
4383//CHECK: </dict>
4384//CHECK: </array>
4385//CHECK: </dict>
4386//CHECK: <dict>
4387//CHECK: <key>kind</key><string>event</string>
4388//CHECK: <key>location</key>
4389//CHECK: <dict>
4390//CHECK: <key>line</key><integer>169</integer>
4391//CHECK: <key>col</key><integer>1</integer>
4392//CHECK: <key>file</key><integer>0</integer>
4393//CHECK: </dict>
4394//CHECK: <key>depth</key><integer>0</integer>
4395//CHECK: <key>extended_message</key>
4396//CHECK: <string>Memory is never released; potential leak</string>
4397//CHECK: <key>message</key>
4398//CHECK: <string>Memory is never released; potential leak</string>
4399//CHECK: </dict>
4400//CHECK: </array>
4401//CHECK: <key>description</key><string>Memory is never released; potential leak</string>
4402//CHECK: <key>category</key><string>Memory Error</string>
4403//CHECK: <key>type</key><string>Memory leak</string>
4404//CHECK: <key>issue_context_kind</key><string>function</string>
4405//CHECK: <key>issue_context</key><string>use_function_with_leak7</string>
4406//CHECK: <key>location</key>
4407//CHECK: <dict>
4408//CHECK: <key>line</key><integer>169</integer>
4409//CHECK: <key>col</key><integer>1</integer>
4410//CHECK: <key>file</key><integer>0</integer>
4411//CHECK: </dict>
4412//CHECK: </dict>
4413//CHECK: </array>
4414//CHECK: </dict>
4415//CHECK: </plist>