This test case is in response to the following bug report:

https://www.mail-archive.com/[email protected]/msg07332.html

Add a corresponding test case for a struct pointer function call.

Signed-off-by: Jaskaran Singh <[email protected]>
---
 tests/structptr_func.c     |  5 +++++
 tests/structptr_func.cocci | 12 ++++++++++++
 tests/structptr_func.res   |  6 ++++++
 3 files changed, 23 insertions(+)
 create mode 100644 tests/structptr_func.c
 create mode 100644 tests/structptr_func.cocci
 create mode 100644 tests/structptr_func.res

diff --git a/tests/structptr_func.c b/tests/structptr_func.c
new file mode 100644
index 00000000..e65dc4ce
--- /dev/null
+++ b/tests/structptr_func.c
@@ -0,0 +1,5 @@
+void func(struct socket *sock, struct sockaddr *uaddr, int peer)
+{
+       sock->ops->getname(sock, uaddr, peer);
+       return;
+}
diff --git a/tests/structptr_func.cocci b/tests/structptr_func.cocci
new file mode 100644
index 00000000..cf725d96
--- /dev/null
+++ b/tests/structptr_func.cocci
@@ -0,0 +1,12 @@
+@@
+struct socket *sock;
+struct sockaddr *uaddr;
+int peer;
+@@
+{
++int ___addr_len;
+...
+- sock->ops->getname(sock, uaddr, peer);
++ sock->ops->getname(sock, uaddr, &___addr_len, peer);
+...
+}
diff --git a/tests/structptr_func.res b/tests/structptr_func.res
new file mode 100644
index 00000000..1b2d437c
--- /dev/null
+++ b/tests/structptr_func.res
@@ -0,0 +1,6 @@
+void func(struct socket *sock, struct sockaddr *uaddr, int peer)
+{
+       int ___addr_len;
+       sock->ops->getname(sock, uaddr, &___addr_len, peer);
+       return;
+}
-- 
2.21.1

_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci

Reply via email to