aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-09-10 10:51:50 +0200
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-12-28 16:12:24 +0100
commit62171af39abede647b973d8736bea7a09a40b063 (patch)
tree66e8c6199f97c0110bad49080122bd6ed3aa6a49
parent69a789a78d4e64052628307f25310e195a50f5ee (diff)
downloadsparse-dev-62171af39abede647b973d8736bea7a09a40b063.tar.gz
testcases: add missing return statements
In some testcases, some non-void functions are missing a return statement. This is undetected because: - no checks are done and so no warnings can be given - there are some bugs in the linearization of returns (the value returned by the last statement is implicitly used). Fix the testcases by adding the missing return. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r--validation/call-variadic.c2
-rw-r--r--validation/struct-as.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/validation/call-variadic.c b/validation/call-variadic.c
index a438b43a..8c981562 100644
--- a/validation/call-variadic.c
+++ b/validation/call-variadic.c
@@ -4,7 +4,7 @@ extern int print(const char *msg, ...);
int foo(const char *fmt, int a, long l, int *p)
{
- print("msg %c: %d %d/%ld %ld/%p %p\n", 'x', a, __LINE__, l, 0L, p, NULL);
+ return print("msg %c: %d %d/%ld %ld/%p %p\n", 'x', a, __LINE__, l, 0L, p, NULL);
}
/*
diff --git a/validation/struct-as.c b/validation/struct-as.c
index f31f7c96..23bca897 100644
--- a/validation/struct-as.c
+++ b/validation/struct-as.c
@@ -12,7 +12,7 @@ extern int test(int __user *ip);
static int broken(struct hello __user *sp)
{
- test(&sp->a);
+ return test(&sp->a);
}
/*
* check-name: Address space of a struct member