diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2022-10-08 14:58:29 -0400 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2022-10-27 15:52:10 -0400 |
commit | 8a0fa3ff3b606b55c4edc71ad133e61529b64549 (patch) | |
tree | 4340786d8bb6651705bf9ab0da446ea3d48ec8c3 | |
parent | f5ea16137a3fa2858620dc9084466491c128535f (diff) | |
download | linux-8a0fa3ff3b606b55c4edc71ad133e61529b64549.tar.gz linux-8a0fa3ff3b606b55c4edc71ad133e61529b64549.tar.bz2 linux-8a0fa3ff3b606b55c4edc71ad133e61529b64549.zip |
SUNRPC: Fix crasher in gss_unwrap_resp_integ()
If a zero length is passed to kmalloc() it returns 0x10, which is
not a valid address. gss_unwrap_resp_integ() subsequently crashes
when it attempts to dereference that pointer.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
-rw-r--r-- | net/sunrpc/auth_gss/auth_gss.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c index a31a27816cc0..7bb247c51e2f 100644 --- a/net/sunrpc/auth_gss/auth_gss.c +++ b/net/sunrpc/auth_gss/auth_gss.c @@ -1989,7 +1989,7 @@ gss_unwrap_resp_integ(struct rpc_task *task, struct rpc_cred *cred, goto unwrap_failed; mic.len = len; mic.data = kmalloc(len, GFP_KERNEL); - if (!mic.data) + if (ZERO_OR_NULL_PTR(mic.data)) goto unwrap_failed; if (read_bytes_from_xdr_buf(rcv_buf, offset, mic.data, mic.len)) goto unwrap_failed; |