| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /// If list_for_each_entry, etc complete a traversal of the list, the iterator |
|---|
| 2 | 3 | /// variable ends up pointing to an address at an offset from the list head, |
|---|
| 3 | 4 | /// and not a meaningful structure. Thus this value should not be used after |
|---|
| .. | .. |
|---|
| 7 | 8 | //#may also cause a report to be a false positive. |
|---|
| 8 | 9 | /// |
|---|
| 9 | 10 | // Confidence: Moderate |
|---|
| 10 | | -// Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. GPLv2. |
|---|
| 11 | | -// Copyright: (C) 2012 Gilles Muller, INRIA/LIP6. GPLv2. |
|---|
| 11 | +// Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. |
|---|
| 12 | +// Copyright: (C) 2012 Gilles Muller, INRIA/LIP6. |
|---|
| 12 | 13 | // URL: http://coccinelle.lip6.fr/ |
|---|
| 13 | 14 | // Comments: |
|---|
| 14 | 15 | // Options: --no-includes --include-headers |
|---|
| .. | .. |
|---|
| 35 | 36 | iterator name hlist_for_each_entry_safe; |
|---|
| 36 | 37 | statement S; |
|---|
| 37 | 38 | position p1,p2; |
|---|
| 39 | +type T; |
|---|
| 38 | 40 | @@ |
|---|
| 39 | 41 | |
|---|
| 40 | 42 | ( |
|---|
| .. | .. |
|---|
| 125 | 127 | | |
|---|
| 126 | 128 | &c->member |
|---|
| 127 | 129 | | |
|---|
| 130 | +T c; |
|---|
| 131 | +| |
|---|
| 128 | 132 | c = E |
|---|
| 129 | 133 | | |
|---|
| 130 | 134 | *c@p2 |
|---|