diff options
author | Matthew N. Dodd <matthew.nygard.dodd@gmail.com> | 2011-06-20 13:32:58 -0400 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2011-06-21 14:31:44 -0400 |
commit | 84570a5f6c5d588d38fb4d42fb13048e62bea71d (patch) | |
tree | 370c43afd1b39cef5bb6ddbd13b26dc1df271add /src/authgss_prot.c | |
parent | 40dcc63eecbd1dfc30363351a61167353bb814a4 (diff) | |
download | ti-rpc-84570a5f6c5d588d38fb4d42fb13048e62bea71d.tar.gz |
PCSEC_GSS_SVC_PRIVACY failure.
in authgss_prot.c:xdr_rpc_gss_wrap_data(), gss_wrap() is called in the
svc == RPCSEC_GSS_SVC_PRIVACY conditional block with databuf.length
uninitialized.
Initialization performed in the svc == RPCSEC_GSS_SVC_INTEGRITY
conditional block should be moved.
Signed-off-by: Frank Filz <ffilzlnx@us.ibm.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'src/authgss_prot.c')
-rw-r--r-- | src/authgss_prot.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/authgss_prot.c b/src/authgss_prot.c index 9d7fa09..0168318 100644 --- a/src/authgss_prot.c +++ b/src/authgss_prot.c @@ -161,6 +161,7 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, databuflen = end - start - 4; XDR_SETPOS(xdrs, start + 4); databuf.value = XDR_INLINE(xdrs, databuflen); + databuf.length = databuflen; xdr_stat = FALSE; @@ -169,7 +170,6 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, XDR_SETPOS(xdrs, start); if (!xdr_u_int(xdrs, (u_int *)&databuflen)) return (FALSE); - databuf.length = databuflen; /* Checksum rpc_gss_data_t. */ maj_stat = gss_get_mic(&min_stat, ctx, qop, |