]> andersk Git - splint.git/blame - test/linked3.c
noexpand always false.
[splint.git] / test / linked3.c
CommitLineData
80ee600a 1typedef struct _node *node;
2
3struct _node {
4 char *val;
5 /*@null@*/ node next;
6}
7
8void node_free1 (/*@only@*/ node n)
9{
10 free (n); /* 2 errors: must free n->next, n->val */
11}
12
13void node_free2 (/*@only@*/ node n)
14{
15 node nn = n->next;
16 free (n); /* error: must free n->val */
17} /* error - nn not released */
18
19void node_free3 (/*@only@*/ node n)
20{
21 node nn = n->next;
22 free (n->val);
23 free (n); /* okay */
24 if (nn != NULL) {
25 node_free1 (nn); /* okay (error for null) */
26 }
27} /* okay */
28
This page took 0.125495 seconds and 5 git commands to generate.