diff --git a/winpr/include/winpr/asn1.h b/winpr/include/winpr/asn1.h index 9afe90779..084796b2f 100644 --- a/winpr/include/winpr/asn1.h +++ b/winpr/include/winpr/asn1.h @@ -149,7 +149,7 @@ extern "C" WINPR_API size_t WinPrAsn1DecReadContextualSequence(WinPrAsn1Decoder* dec, WinPrAsn1_tagId tagId, BOOL* error, WinPrAsn1Decoder* target); - WINPR_API void WinPrAsn1DecGetStream(WinPrAsn1Decoder* dec, wStream* s); + WINPR_API wStream WinPrAsn1DecGetStream(WinPrAsn1Decoder* dec); /* encoder functions */ diff --git a/winpr/libwinpr/sspi/Negotiate/negotiate.c b/winpr/libwinpr/sspi/Negotiate/negotiate.c index 4d8b33ad1..45b165528 100644 --- a/winpr/libwinpr/sspi/Negotiate/negotiate.c +++ b/winpr/libwinpr/sspi/Negotiate/negotiate.c @@ -377,7 +377,6 @@ static BOOL negotiate_read_neg_token(PSecBuffer input, NegToken* token) WinPrAsn1_tag tag; size_t len; WinPrAsn1_OctetString octet_string; - wStream s; BOOL err; WINPR_ASSERT(input); @@ -427,7 +426,7 @@ static BOOL negotiate_read_neg_token(PSecBuffer input, NegToken* token) if (token->init) { /* mechTypes [0] MechTypeList */ - WinPrAsn1DecGetStream(&dec2, &s); + wStream s = WinPrAsn1DecGetStream(&dec2); token->mechTypes.BufferType = SECBUFFER_TOKEN; token->mechTypes.cbBuffer = Stream_Length(&s); token->mechTypes.pvBuffer = Stream_Buffer(&s); @@ -782,8 +781,7 @@ static SECURITY_STATUS SEC_ENTRY negotiate_InitializeSecurityContextW( status = SEC_E_INTERNAL_ERROR; cleanup: - if (enc) - WinPrAsn1Encoder_Free(&enc); + WinPrAsn1Encoder_Free(&enc); return status; } diff --git a/winpr/libwinpr/utils/asn1/asn1.c b/winpr/libwinpr/utils/asn1/asn1.c index 3951bccd0..d3c0061d9 100644 --- a/winpr/libwinpr/utils/asn1/asn1.c +++ b/winpr/libwinpr/utils/asn1/asn1.c @@ -1402,11 +1402,11 @@ size_t WinPrAsn1DecReadContextualSequence(WinPrAsn1Decoder* dec, WinPrAsn1_tagId return ret; } -void WinPrAsn1DecGetStream(WinPrAsn1Decoder* dec, wStream* s) +wStream WinPrAsn1DecGetStream(WinPrAsn1Decoder* dec) { + wStream s = { 0 }; WINPR_ASSERT(dec); - WINPR_ASSERT(s); - Stream_StaticConstInit(s, Stream_Pointer(&dec->source), + Stream_StaticConstInit(&s, Stream_Pointer(&dec->source), Stream_GetRemainingLength(&dec->source)); }