- if (asn1_tag_remaining(data) > 0) {
- if (asn1_peek_tag(data, ASN1_CONTEXT(3))) {
- char *princ = NULL;
- /* mechListMIC [3] OCTET STRING OPTIONAL */
- asn1_start_tag(data, ASN1_CONTEXT(3));
- asn1_start_tag(data, ASN1_SEQUENCE(0));
- asn1_start_tag(data, ASN1_CONTEXT(0));
- asn1_read_GeneralString(data,talloc_autofree_context(),
- &princ);
- asn1_end_tag(data);
- asn1_end_tag(data);
- asn1_end_tag(data);
- if (principal) {
- *principal = princ;
- }
+ if (asn1_peek_tag(data, ASN1_CONTEXT(3))) {
+ char *princ = NULL;
+ /* mechListMIC [3] OCTET STRING OPTIONAL */
+ asn1_start_tag(data, ASN1_CONTEXT(3));
+ asn1_start_tag(data, ASN1_SEQUENCE(0));
+ asn1_start_tag(data, ASN1_CONTEXT(0));
+ asn1_read_GeneralString(data,talloc_autofree_context(),
+ &princ);
+ asn1_end_tag(data);
+ asn1_end_tag(data);
+ asn1_end_tag(data);
+ if (principal) {
+ *principal = princ;
+ } else {
+ TALLOC_FREE(princ);