From f67e4a3cdfb1856e31dda0d4741c8d34df13f8fc Mon Sep 17 00:00:00 2001 From: Simon Wilkinson Date: Tue, 19 Feb 2013 17:53:11 +0000 Subject: [PATCH] libafscp: Actually return callback from FindCallback Fix FindCallback so that it actually returns the callback that it found. This requires changing the function prototype so that the third parameter is passed by reference, and updating the single call site. Caught by clang-analyzer Change-Id: I420647e9cfd119cf1a26456a91d595b8154ddd85 Reviewed-on: http://gerrit.openafs.org/9198 Reviewed-by: Derrick Brashear Tested-by: BuildBot --- src/libafscp/afscp.h | 2 +- src/libafscp/afscp_callback.c | 6 ++++-- src/libafscp/afscp_fid.c | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/libafscp/afscp.h b/src/libafscp/afscp.h index 743e6bea1..849cd3d89 100644 --- a/src/libafscp/afscp.h +++ b/src/libafscp/afscp.h @@ -132,7 +132,7 @@ int afscp_CheckCallBack(const struct afscp_venusfid *fid, afs_uint32 *expiretime); int afscp_FindCallBack(const struct afscp_venusfid *f, const struct afscp_server *server, - struct afscp_callback *ret); + struct afscp_callback **ret); int afscp_AddCallBack(const struct afscp_server *, const struct AFSFid *, const struct AFSFetchStatus *, diff --git a/src/libafscp/afscp_callback.c b/src/libafscp/afscp_callback.c index e37221c18..213cc8b5d 100644 --- a/src/libafscp/afscp_callback.c +++ b/src/libafscp/afscp_callback.c @@ -103,7 +103,9 @@ init_afs_cb(void) } /* init_afs_cb */ int -afscp_FindCallBack(const struct afscp_venusfid *f, const struct afscp_server *server, struct afscp_callback *ret) +afscp_FindCallBack(const struct afscp_venusfid *f, + const struct afscp_server *server, + struct afscp_callback **ret) { int i; struct afscp_callback *use = NULL, *cb; @@ -137,7 +139,7 @@ afscp_FindCallBack(const struct afscp_venusfid *f, const struct afscp_server *se } if (use->valid) - ret = use; + *ret = use; else return -1; diff --git a/src/libafscp/afscp_fid.c b/src/libafscp/afscp_fid.c index 538381b94..c7582c95d 100644 --- a/src/libafscp/afscp_fid.c +++ b/src/libafscp/afscp_fid.c @@ -278,7 +278,7 @@ afscp_CheckCallBack(const struct afscp_venusfid *fid, const struct afscp_server if (code != 0) return code; - code = afscp_FindCallBack(fid, server, cb); + code = afscp_FindCallBack(fid, server, &cb); if (code != 0) return code; -- 2.39.5