From: "Jianhong.Yin" <yin-jianhong@xxxxxxx> fs/nfs/nfs4xdr.c: encode_attrs() ''' Error: FORWARD_NULL (CWE-476): [#def3702] .../fs/nfs/nfs4xdr.c:1085: var_compare_op: Comparing "label" to null implies that "label" might be null. .../fs/nfs/nfs4xdr.c:1129: var_deref_op: Dereferencing null pointer "label". 1127| } 1128| if (bmval[2] & FATTR4_WORD2_SECURITY_LABEL) { 1129|-> *p++ = cpu_to_be32(label->lfs); 1130| *p++ = cpu_to_be32(label->pi); 1131| *p++ = cpu_to_be32(label->len); Error: FORWARD_NULL (CWE-476): [#def3703] .../fs/nfs/nfs4xdr.c:1027: var_compare_op: Comparing "umask" to null implies that "umask" might be null. .../fs/nfs/nfs4xdr.c:1136: var_deref_op: Dereferencing null pointer "umask". 1134| if (bmval[2] & FATTR4_WORD2_MODE_UMASK) { 1135| *p++ = cpu_to_be32(iap->ia_mode & S_IALLUGO); 1136|-> *p++ = cpu_to_be32(*umask); 1137| } ''' Signed-off-by: Jianhong Yin <yin-jianhong@xxxxxxx> --- fs/nfs/nfs4xdr.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c index 80ce289..a86ed66 100644 --- a/fs/nfs/nfs4xdr.c +++ b/fs/nfs/nfs4xdr.c @@ -1124,7 +1124,7 @@ static void encode_attrs(struct xdr_stream *xdr, const struct iattr *iap, } else *p++ = cpu_to_be32(NFS4_SET_TO_SERVER_TIME); } - if (bmval[2] & FATTR4_WORD2_SECURITY_LABEL) { + if (label && bmval[2] & FATTR4_WORD2_SECURITY_LABEL) { *p++ = cpu_to_be32(label->lfs); *p++ = cpu_to_be32(label->pi); *p++ = cpu_to_be32(label->len); @@ -1132,7 +1132,8 @@ static void encode_attrs(struct xdr_stream *xdr, const struct iattr *iap, } if (bmval[2] & FATTR4_WORD2_MODE_UMASK) { *p++ = cpu_to_be32(iap->ia_mode & S_IALLUGO); - *p++ = cpu_to_be32(*umask); + if (umask != NULL) + *p++ = cpu_to_be32(*umask); } /* out: */ -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html