diff --git a/winpr/libwinpr/sspi/Negotiate/negotiate.c b/winpr/libwinpr/sspi/Negotiate/negotiate.c index c2e5b08b1..901cf4376 100644 --- a/winpr/libwinpr/sspi/Negotiate/negotiate.c +++ b/winpr/libwinpr/sspi/Negotiate/negotiate.c @@ -477,13 +477,13 @@ cleanup: static BOOL negotiate_read_neg_token(PSecBuffer input, NegToken* token) { - WinPrAsn1Decoder dec; - WinPrAsn1Decoder dec2; - WinPrAsn1_OID oid; + WinPrAsn1Decoder dec = { .encoding = WINPR_ASN1_BER, { 0 } }; + WinPrAsn1Decoder dec2 = { .encoding = WINPR_ASN1_BER, { 0 } }; + WinPrAsn1_OID oid = { 0 }; WinPrAsn1_tagId contextual = 0; WinPrAsn1_tag tag = 0; size_t len = 0; - WinPrAsn1_OctetString octet_string; + WinPrAsn1_OctetString octet_string = { 0 }; BOOL err = 0; WINPR_ASSERT(input); @@ -990,8 +990,8 @@ static SECURITY_STATUS SEC_ENTRY negotiate_InitializeSecurityContextA( static const Mech* guessMech(PSecBuffer input_buffer, BOOL* spNego, WinPrAsn1_OID* oid) { - WinPrAsn1Decoder decoder; - WinPrAsn1Decoder appDecoder; + WinPrAsn1Decoder decoder = { .encoding = WINPR_ASN1_BER, { 0 } }; + WinPrAsn1Decoder appDecoder = { .encoding = WINPR_ASN1_BER, { 0 } }; WinPrAsn1_tagId tag = 0; const char ssp[] = "NTLMSSP"; @@ -1039,8 +1039,8 @@ static SECURITY_STATUS SEC_ENTRY negotiate_AcceptSecurityContext( SecBufferDesc mech_input = { SECBUFFER_VERSION, 1, &input_token.mechToken }; SecBufferDesc mech_output = { SECBUFFER_VERSION, 1, &output_token.mechToken }; SECURITY_STATUS status = SEC_E_INTERNAL_ERROR; - WinPrAsn1Decoder dec; - WinPrAsn1Decoder dec2; + WinPrAsn1Decoder dec = { .encoding = WINPR_ASN1_BER, { 0 } }; + WinPrAsn1Decoder dec2 = { .encoding = WINPR_ASN1_BER, { 0 } }; WinPrAsn1_tagId tag = 0; WinPrAsn1_OID oid = { 0 }; const Mech* first_mech = NULL; diff --git a/winpr/libwinpr/sspi/sspi_gss.c b/winpr/libwinpr/sspi/sspi_gss.c index 26c3927dc..9fc9340c2 100644 --- a/winpr/libwinpr/sspi/sspi_gss.c +++ b/winpr/libwinpr/sspi/sspi_gss.c @@ -86,8 +86,8 @@ cleanup: BOOL sspi_gss_unwrap_token(const SecBuffer* buf, WinPrAsn1_OID* oid, uint16_t* tok_id, sspi_gss_data* token) { - WinPrAsn1Decoder dec; - WinPrAsn1Decoder dec2; + WinPrAsn1Decoder dec = { .encoding = WINPR_ASN1_BER, { 0 } }; + WinPrAsn1Decoder dec2 = { .encoding = WINPR_ASN1_BER, { 0 } }; WinPrAsn1_tagId tag = 0; wStream sbuffer = { 0 }; wStream* s = NULL; diff --git a/winpr/libwinpr/utils/asn1/asn1.c b/winpr/libwinpr/utils/asn1/asn1.c index c91484bac..e8b503d1b 100644 --- a/winpr/libwinpr/utils/asn1/asn1.c +++ b/winpr/libwinpr/utils/asn1/asn1.c @@ -1388,7 +1388,7 @@ size_t WinPrAsn1DecReadContextualBool(WinPrAsn1Decoder* dec, WinPrAsn1_tagId tag { size_t ret = 0; size_t ret2 = 0; - WinPrAsn1Decoder content; + WinPrAsn1Decoder content = { .encoding = WINPR_ASN1_BER, { 0 } }; ret = readContextualHeader(dec, tagId, error, &content); if (!ret) @@ -1410,7 +1410,7 @@ size_t WinPrAsn1DecReadContextualInteger(WinPrAsn1Decoder* dec, WinPrAsn1_tagId { size_t ret = 0; size_t ret2 = 0; - WinPrAsn1Decoder content; + WinPrAsn1Decoder content = { .encoding = WINPR_ASN1_BER, { 0 } }; ret = readContextualHeader(dec, tagId, error, &content); if (!ret) @@ -1432,7 +1432,7 @@ size_t WinPrAsn1DecReadContextualOID(WinPrAsn1Decoder* dec, WinPrAsn1_tagId tagI { size_t ret = 0; size_t ret2 = 0; - WinPrAsn1Decoder content; + WinPrAsn1Decoder content = { .encoding = WINPR_ASN1_BER, { 0 } }; ret = readContextualHeader(dec, tagId, error, &content); if (!ret) @@ -1455,7 +1455,7 @@ size_t WinPrAsn1DecReadContextualOctetString(WinPrAsn1Decoder* dec, WinPrAsn1_ta { size_t ret = 0; size_t ret2 = 0; - WinPrAsn1Decoder content; + WinPrAsn1Decoder content = { .encoding = WINPR_ASN1_BER, { 0 } }; ret = readContextualHeader(dec, tagId, error, &content); if (!ret) @@ -1477,7 +1477,7 @@ size_t WinPrAsn1DecReadContextualSequence(WinPrAsn1Decoder* dec, WinPrAsn1_tagId { size_t ret = 0; size_t ret2 = 0; - WinPrAsn1Decoder content; + WinPrAsn1Decoder content = { .encoding = WINPR_ASN1_BER, { 0 } }; ret = readContextualHeader(dec, tagId, error, &content); if (!ret) diff --git a/winpr/libwinpr/utils/test/TestASN1.c b/winpr/libwinpr/utils/test/TestASN1.c index 99d9e5db2..79d5b82b3 100644 --- a/winpr/libwinpr/utils/test/TestASN1.c +++ b/winpr/libwinpr/utils/test/TestASN1.c @@ -30,14 +30,14 @@ static const BYTE utctimeContent[] = { 0x17, 0x0D, 0x32, 0x31, 0x30, 0x33, 0x31, int TestASN1Read(int argc, char* argv[]) { - WinPrAsn1Decoder decoder; - WinPrAsn1Decoder seqDecoder; - wStream staticS; + WinPrAsn1Decoder decoder = { .encoding = WINPR_ASN1_BER, { 0 } }; + WinPrAsn1Decoder seqDecoder = { .encoding = WINPR_ASN1_BER, { 0 } }; + wStream staticS = { 0 }; WinPrAsn1_BOOL boolV = 0; WinPrAsn1_INTEGER integerV = 0; - WinPrAsn1_OID oidV; + WinPrAsn1_OID oidV = { 0 }; WinPrAsn1_IA5STRING ia5stringV = NULL; - WinPrAsn1_UTCTIME utctimeV; + WinPrAsn1_UTCTIME utctimeV = { 0 }; WinPrAsn1_tag tag = 0; size_t len = 0; BOOL error = 0;