From 68c61a829b8487104483b23052b54c532fecb6ce Mon Sep 17 00:00:00 2001 From: Matthias Dieter Wallnöfer Date: Fri, 25 Feb 2011 11:54:02 +0100 Subject: Revert "heimdal_build omit #line statments to allow valgrind to work again" This reverts commit 80e23c68d83a7c9989f87d5a88a78bb76d222afc. A better patch has been provided by Milan Crha in the following commit. --- source4/heimdal/lib/asn1/asn1parse.c | 97 +++++++++++++++++++++++++++++++++++- 1 file changed, 95 insertions(+), 2 deletions(-) (limited to 'source4/heimdal/lib/asn1/asn1parse.c') diff --git a/source4/heimdal/lib/asn1/asn1parse.c b/source4/heimdal/lib/asn1/asn1parse.c index 87868f1b2c..18bbcdd39c 100644 --- a/source4/heimdal/lib/asn1/asn1parse.c +++ b/source4/heimdal/lib/asn1/asn1parse.c @@ -31,6 +31,7 @@ static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; extern int YYPARSE_DECL(); +#line 39 "" #include @@ -61,6 +62,7 @@ struct string_list { #define YYMALLOC malloc #define YYFREE free +#line 71 "" typedef union { int constant; struct value *value; @@ -75,6 +77,7 @@ typedef union { struct memhead *members; struct constraint_spec *constraint_spec; } YYSTYPE; +#line 80 "" #define kw_ABSENT 257 #define kw_ABSTRACT_SYNTAX 258 #define kw_ALL 259 @@ -609,6 +612,7 @@ YYSTYPE yylval; /* variables for the parser stack */ static YYSTACKDATA yystack; +#line 945 "" void yyerror (const char *s) @@ -702,6 +706,7 @@ fix_labels(Symbol *s) fix_labels2(s->type, p); free(p); } +#line 709 "" /* allocate initial stack or double stack size, up to YYMAXDEPTH */ static int yygrowstack(YYSTACKDATA *data) { @@ -904,20 +909,25 @@ yyreduce: switch (yyn) { case 1: +#line 241 "" { checkundefined(); } break; case 3: +#line 248 "" { lex_error_message("implicit tagging is not supported"); } break; case 4: +#line 250 "" { lex_error_message("automatic tagging is not supported"); } break; case 6: +#line 255 "" { lex_error_message("no extensibility options supported"); } break; case 16: +#line 276 "" { struct string_list *sl; for(sl = yystack.l_mark[-3].sl; sl != NULL; sl = sl->next) { @@ -929,6 +939,7 @@ case 16: } break; case 17: +#line 288 "" { struct string_list *sl; for(sl = yystack.l_mark[-1].sl; sl != NULL; sl = sl->next) @@ -936,6 +947,7 @@ case 17: } break; case 24: +#line 306 "" { yyval.sl = emalloc(sizeof(*yyval.sl)); yyval.sl->string = yystack.l_mark[-2].name; @@ -943,6 +955,7 @@ case 24: } break; case 25: +#line 312 "" { yyval.sl = emalloc(sizeof(*yyval.sl)); yyval.sl->string = yystack.l_mark[0].name; @@ -950,6 +963,7 @@ case 25: } break; case 26: +#line 320 "" { Symbol *s = addsym (yystack.l_mark[-2].name); s->stype = Stype; @@ -959,12 +973,14 @@ case 26: } break; case 44: +#line 351 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_Boolean, TE_EXPLICIT, new_type(TBoolean)); } break; case 45: +#line 358 "" { if(yystack.l_mark[-3].value->type != integervalue) lex_error_message("Non-integer used in first part of range"); @@ -976,7 +992,8 @@ case 45: } break; case 46: - { +#line 368 "" + { if(yystack.l_mark[-3].value->type != integervalue) lex_error_message("Non-integer in first part of range"); yyval.range = ecalloc(1, sizeof(*yyval.range)); @@ -985,7 +1002,8 @@ case 46: } break; case 47: - { +#line 376 "" + { if(yystack.l_mark[-1].value->type != integervalue) lex_error_message("Non-integer in second part of range"); yyval.range = ecalloc(1, sizeof(*yyval.range)); @@ -994,6 +1012,7 @@ case 47: } break; case 48: +#line 384 "" { if(yystack.l_mark[-1].value->type != integervalue) lex_error_message("Non-integer used in limit"); @@ -1003,12 +1022,14 @@ case 48: } break; case 49: +#line 395 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_Integer, TE_EXPLICIT, new_type(TInteger)); } break; case 50: +#line 400 "" { yyval.type = new_type(TInteger); yyval.type->range = yystack.l_mark[0].range; @@ -1016,6 +1037,7 @@ case 50: } break; case 51: +#line 406 "" { yyval.type = new_type(TInteger); yyval.type->members = yystack.l_mark[-1].members; @@ -1023,6 +1045,7 @@ case 51: } break; case 52: +#line 414 "" { yyval.members = emalloc(sizeof(*yyval.members)); ASN1_TAILQ_INIT(yyval.members); @@ -1030,15 +1053,18 @@ case 52: } break; case 53: +#line 420 "" { ASN1_TAILQ_INSERT_TAIL(yystack.l_mark[-2].members, yystack.l_mark[0].member, members); yyval.members = yystack.l_mark[-2].members; } break; case 54: +#line 425 "" { yyval.members = yystack.l_mark[-2].members; } break; case 55: +#line 429 "" { yyval.member = emalloc(sizeof(*yyval.member)); yyval.member->name = yystack.l_mark[-3].name; @@ -1051,6 +1077,7 @@ case 55: } break; case 56: +#line 442 "" { yyval.type = new_type(TInteger); yyval.type->members = yystack.l_mark[-1].members; @@ -1058,6 +1085,7 @@ case 56: } break; case 58: +#line 453 "" { yyval.type = new_type(TBitString); yyval.type->members = emalloc(sizeof(*yyval.type->members)); @@ -1066,6 +1094,7 @@ case 58: } break; case 59: +#line 460 "" { yyval.type = new_type(TBitString); yyval.type->members = yystack.l_mark[-1].members; @@ -1073,12 +1102,14 @@ case 59: } break; case 60: +#line 468 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_OID, TE_EXPLICIT, new_type(TOID)); } break; case 61: +#line 474 "" { Type *t = new_type(TOctetString); t->range = yystack.l_mark[0].range; @@ -1087,18 +1118,22 @@ case 61: } break; case 62: +#line 483 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_Null, TE_EXPLICIT, new_type(TNull)); } break; case 63: +#line 490 "" { yyval.range = NULL; } break; case 64: +#line 492 "" { yyval.range = yystack.l_mark[0].range; } break; case 65: +#line 497 "" { yyval.type = new_type(TSequence); yyval.type->members = yystack.l_mark[-1].members; @@ -1106,6 +1141,7 @@ case 65: } break; case 66: +#line 503 "" { yyval.type = new_type(TSequence); yyval.type->members = NULL; @@ -1113,6 +1149,7 @@ case 66: } break; case 67: +#line 511 "" { yyval.type = new_type(TSequenceOf); yyval.type->range = yystack.l_mark[-2].range; @@ -1121,6 +1158,7 @@ case 67: } break; case 68: +#line 520 "" { yyval.type = new_type(TSet); yyval.type->members = yystack.l_mark[-1].members; @@ -1128,6 +1166,7 @@ case 68: } break; case 69: +#line 526 "" { yyval.type = new_type(TSet); yyval.type->members = NULL; @@ -1135,6 +1174,7 @@ case 69: } break; case 70: +#line 534 "" { yyval.type = new_type(TSetOf); yyval.type->subtype = yystack.l_mark[0].type; @@ -1142,12 +1182,14 @@ case 70: } break; case 71: +#line 542 "" { yyval.type = new_type(TChoice); yyval.type->members = yystack.l_mark[-1].members; } break; case 74: +#line 553 "" { Symbol *s = addsym(yystack.l_mark[0].name); yyval.type = new_type(TType); @@ -1158,18 +1200,21 @@ case 74: } break; case 75: +#line 564 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_GeneralizedTime, TE_EXPLICIT, new_type(TGeneralizedTime)); } break; case 76: +#line 569 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_UTCTime, TE_EXPLICIT, new_type(TUTCTime)); } break; case 77: +#line 576 "" { /* if (Constraint.type == contentConstrant) { assert(Constraint.u.constraint.type == octetstring|bitstring-w/o-NamedBitList); // remember to check type reference too @@ -1184,11 +1229,13 @@ case 77: } break; case 78: +#line 592 "" { yyval.constraint_spec = yystack.l_mark[-1].constraint_spec; } break; case 82: +#line 605 "" { yyval.constraint_spec = new_constraint_spec(CT_CONTENTS); yyval.constraint_spec->u.content.type = yystack.l_mark[0].type; @@ -1196,6 +1243,7 @@ case 82: } break; case 83: +#line 611 "" { if (yystack.l_mark[0].value->type != objectidentifiervalue) lex_error_message("Non-OID used in ENCODED BY constraint"); @@ -1205,6 +1253,7 @@ case 83: } break; case 84: +#line 619 "" { if (yystack.l_mark[0].value->type != objectidentifiervalue) lex_error_message("Non-OID used in ENCODED BY constraint"); @@ -1214,11 +1263,13 @@ case 84: } break; case 85: +#line 629 "" { yyval.constraint_spec = new_constraint_spec(CT_USER); } break; case 86: +#line 635 "" { yyval.type = new_type(TTag); yyval.type->tag = yystack.l_mark[-2].tag; @@ -1231,6 +1282,7 @@ case 86: } break; case 87: +#line 648 "" { yyval.tag.tagclass = yystack.l_mark[-2].constant; yyval.tag.tagvalue = yystack.l_mark[-1].constant; @@ -1238,41 +1290,49 @@ case 87: } break; case 88: +#line 656 "" { yyval.constant = ASN1_C_CONTEXT; } break; case 89: +#line 660 "" { yyval.constant = ASN1_C_UNIV; } break; case 90: +#line 664 "" { yyval.constant = ASN1_C_APPL; } break; case 91: +#line 668 "" { yyval.constant = ASN1_C_PRIVATE; } break; case 92: +#line 674 "" { yyval.constant = TE_EXPLICIT; } break; case 93: +#line 678 "" { yyval.constant = TE_EXPLICIT; } break; case 94: +#line 682 "" { yyval.constant = TE_IMPLICIT; } break; case 95: +#line 689 "" { Symbol *s; s = addsym (yystack.l_mark[-3].name); @@ -1283,54 +1343,63 @@ case 95: } break; case 97: +#line 703 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_GeneralString, TE_EXPLICIT, new_type(TGeneralString)); } break; case 98: +#line 708 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_TeletexString, TE_EXPLICIT, new_type(TTeletexString)); } break; case 99: +#line 713 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_UTF8String, TE_EXPLICIT, new_type(TUTF8String)); } break; case 100: +#line 718 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_PrintableString, TE_EXPLICIT, new_type(TPrintableString)); } break; case 101: +#line 723 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_VisibleString, TE_EXPLICIT, new_type(TVisibleString)); } break; case 102: +#line 728 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_IA5String, TE_EXPLICIT, new_type(TIA5String)); } break; case 103: +#line 733 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_BMPString, TE_EXPLICIT, new_type(TBMPString)); } break; case 104: +#line 738 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_UniversalString, TE_EXPLICIT, new_type(TUniversalString)); } break; case 105: +#line 746 "" { yyval.members = emalloc(sizeof(*yyval.members)); ASN1_TAILQ_INIT(yyval.members); @@ -1338,12 +1407,14 @@ case 105: } break; case 106: +#line 752 "" { ASN1_TAILQ_INSERT_TAIL(yystack.l_mark[-2].members, yystack.l_mark[0].member, members); yyval.members = yystack.l_mark[-2].members; } break; case 107: +#line 757 "" { struct member *m = ecalloc(1, sizeof(*m)); m->name = estrdup("..."); @@ -1354,6 +1425,7 @@ case 107: } break; case 108: +#line 768 "" { yyval.member = emalloc(sizeof(*yyval.member)); yyval.member->name = yystack.l_mark[-1].name; @@ -1364,6 +1436,7 @@ case 108: } break; case 109: +#line 779 "" { yyval.member = yystack.l_mark[0].member; yyval.member->optional = 0; @@ -1371,6 +1444,7 @@ case 109: } break; case 110: +#line 785 "" { yyval.member = yystack.l_mark[-1].member; yyval.member->optional = 1; @@ -1378,6 +1452,7 @@ case 110: } break; case 111: +#line 791 "" { yyval.member = yystack.l_mark[-2].member; yyval.member->optional = 0; @@ -1385,6 +1460,7 @@ case 111: } break; case 112: +#line 799 "" { yyval.members = emalloc(sizeof(*yyval.members)); ASN1_TAILQ_INIT(yyval.members); @@ -1392,12 +1468,14 @@ case 112: } break; case 113: +#line 805 "" { ASN1_TAILQ_INSERT_TAIL(yystack.l_mark[-2].members, yystack.l_mark[0].member, members); yyval.members = yystack.l_mark[-2].members; } break; case 114: +#line 812 "" { yyval.member = emalloc(sizeof(*yyval.member)); yyval.member->name = yystack.l_mark[-3].name; @@ -1410,19 +1488,23 @@ case 114: } break; case 116: +#line 825 "" { yyval.objid = NULL; } break; case 117: +#line 829 "" { yyval.objid = yystack.l_mark[-1].objid; } break; case 118: +#line 835 "" { yyval.objid = NULL; } break; case 119: +#line 839 "" { if (yystack.l_mark[0].objid) { yyval.objid = yystack.l_mark[0].objid; @@ -1433,11 +1515,13 @@ case 119: } break; case 120: +#line 850 "" { yyval.objid = new_objid(yystack.l_mark[-3].name, yystack.l_mark[-1].constant); } break; case 121: +#line 854 "" { Symbol *s = addsym(yystack.l_mark[0].name); if(s->stype != SValue || @@ -1450,11 +1534,13 @@ case 121: } break; case 122: +#line 865 "" { yyval.objid = new_objid(NULL, yystack.l_mark[0].constant); } break; case 132: +#line 888 "" { Symbol *s = addsym(yystack.l_mark[0].name); if(s->stype != SValue) @@ -1465,6 +1551,7 @@ case 132: } break; case 133: +#line 899 "" { yyval.value = emalloc(sizeof(*yyval.value)); yyval.value->type = stringvalue; @@ -1472,6 +1559,7 @@ case 133: } break; case 134: +#line 907 "" { yyval.value = emalloc(sizeof(*yyval.value)); yyval.value->type = booleanvalue; @@ -1479,6 +1567,7 @@ case 134: } break; case 135: +#line 913 "" { yyval.value = emalloc(sizeof(*yyval.value)); yyval.value->type = booleanvalue; @@ -1486,6 +1575,7 @@ case 135: } break; case 136: +#line 921 "" { yyval.value = emalloc(sizeof(*yyval.value)); yyval.value->type = integervalue; @@ -1493,16 +1583,19 @@ case 136: } break; case 138: +#line 932 "" { } break; case 139: +#line 937 "" { yyval.value = emalloc(sizeof(*yyval.value)); yyval.value->type = objectidentifiervalue; yyval.value->u.objectidentifiervalue = yystack.l_mark[0].objid; } break; +#line 1598 "" } yystack.s_mark -= yym; yystate = *yystack.s_mark; -- cgit