[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

hyatt hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:39:21 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit daa4a17736ca32e70c98427e9d83294cb2ebf711
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Apr 30 00:12:27 2003 +0000

    	Fix for 3226138, crash on canada.gc.ca.  Make sure a failed
    	@media parse doesn't crash by adding a null check.
    
            Reviewed by mjs
    
            * khtml/css/parser.cpp:
            * khtml/css/parser.y:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4214 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 20a0867..7ff01e7 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,5 +1,15 @@
 2003-04-29  David Hyatt  <hyatt at apple.com>
 
+	Fix for 3226138, crash on canada.gc.ca.  Make sure a failed
+	@media parse doesn't crash by adding a null check.
+	
+        Reviewed by mjs
+
+        * khtml/css/parser.cpp:
+        * khtml/css/parser.y:
+
+2003-04-29  David Hyatt  <hyatt at apple.com>
+
 	The remainder of the overflow:auto patch.
 
 	A minor table cell optimization has also been included.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 20a0867..7ff01e7 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,15 @@
 2003-04-29  David Hyatt  <hyatt at apple.com>
 
+	Fix for 3226138, crash on canada.gc.ca.  Make sure a failed
+	@media parse doesn't crash by adding a null check.
+	
+        Reviewed by mjs
+
+        * khtml/css/parser.cpp:
+        * khtml/css/parser.y:
+
+2003-04-29  David Hyatt  <hyatt at apple.com>
+
 	The remainder of the overflow:auto patch.
 
 	A minor table cell optimization has also been included.
diff --git a/WebCore/khtml/css/parser.cpp b/WebCore/khtml/css/parser.cpp
index 7dc6791..5249b4b 100644
--- a/WebCore/khtml/css/parser.cpp
+++ b/WebCore/khtml/css/parser.cpp
@@ -295,18 +295,18 @@ static const short yyrline[] = { 0,
    230,   232,   233,   234,   237,   244,   250,   275,   277,   280,
    282,   283,   286,   288,   293,   294,   297,   299,   310,   312,
    322,   324,   325,   326,   327,   328,   331,   344,   347,   352,
-   354,   357,   361,   365,   369,   373,   377,   383,   397,   399,
-   408,   430,   434,   439,   443,   448,   450,   451,   454,   456,
-   459,   479,   493,   507,   513,   517,   536,   542,   547,   552,
-   559,   580,   585,   590,   600,   606,   613,   614,   615,   618,
-   627,   651,   657,   665,   669,   672,   675,   678,   681,   686,
-   688,   691,   697,   703,   711,   715,   720,   723,   729,   737,
-   741,   747,   753,   758,   764,   772,   795,   801,   808,   810,
-   813,   818,   831,   837,   841,   844,   849,   851,   852,   853,
-   859,   860,   861,   863,   868,   870,   871,   872,   873,   874,
-   875,   876,   877,   878,   879,   880,   881,   882,   883,   884,
-   885,   886,   887,   891,   899,   911,   918,   925,   933,   959,
-   961,   964,   966
+   354,   357,   361,   365,   369,   373,   378,   384,   398,   400,
+   409,   431,   435,   440,   444,   449,   451,   452,   455,   457,
+   460,   480,   494,   508,   514,   518,   537,   543,   548,   553,
+   560,   581,   586,   591,   601,   607,   614,   615,   616,   619,
+   628,   652,   658,   666,   670,   673,   676,   679,   682,   687,
+   689,   692,   698,   704,   712,   716,   721,   724,   730,   738,
+   742,   748,   754,   759,   765,   773,   796,   802,   809,   811,
+   814,   819,   832,   838,   842,   845,   850,   852,   853,   854,
+   860,   861,   862,   864,   869,   871,   872,   873,   874,   875,
+   876,   877,   878,   879,   880,   881,   882,   883,   884,   885,
+   886,   887,   888,   892,   900,   912,   919,   926,   934,   960,
+   962,   965,   967
 };
 #endif
 
@@ -1231,18 +1231,19 @@ case 36:
 #line 373 "parser.y"
 {
 	yyval.mediaList = yyvsp[-3].mediaList;
-	yyval.mediaList->appendMedium( domString(yyvsp[0].string) );
+        if (yyval.mediaList)
+	    yyval.mediaList->appendMedium( domString(yyvsp[0].string) );
     ;
     break;}
 case 37:
-#line 377 "parser.y"
+#line 378 "parser.y"
 {
         delete yyvsp[-1].mediaList;
         yyval.mediaList = 0;
     ;
     break;}
 case 38:
-#line 384 "parser.y"
+#line 385 "parser.y"
 {
 	CSSParser *p = static_cast<CSSParser *>(parser);
 	if ( yyvsp[-4].mediaList && yyvsp[-1].ruleList &&
@@ -1256,11 +1257,11 @@ case 38:
     ;
     break;}
 case 39:
-#line 398 "parser.y"
+#line 399 "parser.y"
 { yyval.ruleList = 0; ;
     break;}
 case 40:
-#line 399 "parser.y"
+#line 400 "parser.y"
 {
       yyval.ruleList = yyvsp[-2].ruleList;
       if ( yyvsp[-1].rule ) {
@@ -1270,57 +1271,57 @@ case 40:
   ;
     break;}
 case 41:
-#line 409 "parser.y"
+#line 410 "parser.y"
 {
       yyval.string = yyvsp[-1].string;
   ;
     break;}
 case 42:
-#line 431 "parser.y"
+#line 432 "parser.y"
 {
       yyval.rule = 0;
     ;
     break;}
 case 43:
-#line 434 "parser.y"
+#line 435 "parser.y"
 {
       yyval.rule = 0;
     ;
     break;}
 case 44:
-#line 440 "parser.y"
+#line 441 "parser.y"
 {
       yyval.rule = 0;
     ;
     break;}
 case 45:
-#line 443 "parser.y"
+#line 444 "parser.y"
 {
       yyval.rule = 0;
     ;
     break;}
 case 46:
-#line 449 "parser.y"
+#line 450 "parser.y"
 { yyval.relation = CSSSelector::Sibling; ;
     break;}
 case 47:
-#line 450 "parser.y"
+#line 451 "parser.y"
 { yyval.relation = CSSSelector::Child; ;
     break;}
 case 48:
-#line 451 "parser.y"
+#line 452 "parser.y"
 { yyval.relation = CSSSelector::Descendant; ;
     break;}
 case 49:
-#line 455 "parser.y"
+#line 456 "parser.y"
 { yyval.val = -1; ;
     break;}
 case 50:
-#line 456 "parser.y"
+#line 457 "parser.y"
 { yyval.val = 1; ;
     break;}
 case 51:
-#line 460 "parser.y"
+#line 461 "parser.y"
 {
 #ifdef CSS_DEBUG
 	kdDebug( 6080 ) << "got ruleset" << endl << "  selector:" << endl;
@@ -1340,7 +1341,7 @@ case 51:
     ;
     break;}
 case 52:
-#line 480 "parser.y"
+#line 481 "parser.y"
 {
 	if ( yyvsp[0].selector ) {
 	    yyval.selectorList = new QPtrList<CSSSelector>;
@@ -1356,7 +1357,7 @@ case 52:
     ;
     break;}
 case 53:
-#line 493 "parser.y"
+#line 494 "parser.y"
 {
 	if ( yyvsp[-3].selectorList && yyvsp[0].selector ) {
 	    yyval.selectorList = yyvsp[-3].selectorList;
@@ -1373,20 +1374,20 @@ case 53:
     ;
     break;}
 case 54:
-#line 507 "parser.y"
+#line 508 "parser.y"
 {
         delete yyvsp[-1].selectorList;
         yyval.selectorList = 0;
     ;
     break;}
 case 55:
-#line 514 "parser.y"
+#line 515 "parser.y"
 {
 	yyval.selector = yyvsp[0].selector;
     ;
     break;}
 case 56:
-#line 517 "parser.y"
+#line 518 "parser.y"
 {
     	yyval.selector = yyvsp[0].selector;
         if (yyval.selector) {
@@ -1408,21 +1409,21 @@ case 56:
     ;
     break;}
 case 57:
-#line 536 "parser.y"
+#line 537 "parser.y"
 {
         delete yyvsp[-1].selector;
         yyval.selector = 0;
     ;
     break;}
 case 58:
-#line 543 "parser.y"
+#line 544 "parser.y"
 {
 	yyval.selector = new CSSSelector();
 	yyval.selector->tag = yyvsp[-1].element;
     ;
     break;}
 case 59:
-#line 547 "parser.y"
+#line 548 "parser.y"
 {
 	yyval.selector = yyvsp[-1].selector;
 	if ( yyval.selector )
@@ -1430,7 +1431,7 @@ case 59:
     ;
     break;}
 case 60:
-#line 552 "parser.y"
+#line 553 "parser.y"
 {
 	yyval.selector = yyvsp[-1].selector;
 	if ( yyval.selector )
@@ -1438,7 +1439,7 @@ case 60:
     ;
     break;}
 case 61:
-#line 560 "parser.y"
+#line 561 "parser.y"
 {
 	CSSParser *p = static_cast<CSSParser *>(parser);
 	DOM::DocumentImpl *doc = p->document();
@@ -1461,20 +1462,20 @@ case 61:
     ;
     break;}
 case 62:
-#line 580 "parser.y"
+#line 581 "parser.y"
 {
 	yyval.element = -1;
     ;
     break;}
 case 63:
-#line 586 "parser.y"
+#line 587 "parser.y"
 {
 	yyval.selector = yyvsp[0].selector;
 	yyval.selector->nonCSSHint = static_cast<CSSParser *>(parser)->nonCSSHint;
     ;
     break;}
 case 64:
-#line 590 "parser.y"
+#line 591 "parser.y"
 {
 	yyval.selector = yyvsp[-1].selector;
         if (yyval.selector) {
@@ -1487,14 +1488,14 @@ case 64:
     ;
     break;}
 case 65:
-#line 600 "parser.y"
+#line 601 "parser.y"
 {
         delete yyvsp[-1].selector;
         yyval.selector = 0;
     ;
     break;}
 case 66:
-#line 607 "parser.y"
+#line 608 "parser.y"
 {
 	yyval.selector = new CSSSelector();
 	yyval.selector->match = CSSSelector::Id;
@@ -1503,7 +1504,7 @@ case 66:
     ;
     break;}
 case 70:
-#line 619 "parser.y"
+#line 620 "parser.y"
 {
 	yyval.selector = new CSSSelector();
 	yyval.selector->match = CSSSelector::List;
@@ -1512,7 +1513,7 @@ case 70:
     ;
     break;}
 case 71:
-#line 628 "parser.y"
+#line 629 "parser.y"
 {
 	CSSParser *p = static_cast<CSSParser *>(parser);
 	DOM::DocumentImpl *doc = p->document();
@@ -1536,7 +1537,7 @@ case 71:
     ;
     break;}
 case 72:
-#line 652 "parser.y"
+#line 653 "parser.y"
 {
 	yyval.selector = new CSSSelector();
 	yyval.selector->attr = yyvsp[-1].attribute;
@@ -1544,7 +1545,7 @@ case 72:
     ;
     break;}
 case 73:
-#line 657 "parser.y"
+#line 658 "parser.y"
 {
 	yyval.selector = new CSSSelector();
 	yyval.selector->attr = yyvsp[-5].attribute;
@@ -1553,43 +1554,43 @@ case 73:
     ;
     break;}
 case 74:
-#line 666 "parser.y"
+#line 667 "parser.y"
 {
 	yyval.val = CSSSelector::Exact;
     ;
     break;}
 case 75:
-#line 669 "parser.y"
+#line 670 "parser.y"
 {
 	yyval.val = CSSSelector::List;
     ;
     break;}
 case 76:
-#line 672 "parser.y"
+#line 673 "parser.y"
 {
 	yyval.val = CSSSelector::Hyphen;
     ;
     break;}
 case 77:
-#line 675 "parser.y"
+#line 676 "parser.y"
 {
 	yyval.val = CSSSelector::Begin;
     ;
     break;}
 case 78:
-#line 678 "parser.y"
+#line 679 "parser.y"
 {
 	yyval.val = CSSSelector::End;
     ;
     break;}
 case 79:
-#line 681 "parser.y"
+#line 682 "parser.y"
 {
 	yyval.val = CSSSelector::Contain;
     ;
     break;}
 case 82:
-#line 692 "parser.y"
+#line 693 "parser.y"
 {
         yyval.selector = new CSSSelector();
         yyval.selector->match = CSSSelector::Pseudo;
@@ -1597,7 +1598,7 @@ case 82:
     ;
     break;}
 case 83:
-#line 698 "parser.y"
+#line 699 "parser.y"
 {
         yyval.selector = new CSSSelector();
         yyval.selector->match = CSSSelector::Pseudo;
@@ -1605,7 +1606,7 @@ case 83:
     ;
     break;}
 case 84:
-#line 703 "parser.y"
+#line 704 "parser.y"
 {
         yyval.selector = new CSSSelector();
         yyval.selector->match = CSSSelector::Pseudo;
@@ -1614,13 +1615,13 @@ case 84:
     ;
     break;}
 case 85:
-#line 712 "parser.y"
+#line 713 "parser.y"
 {
 	yyval.ok = yyvsp[0].ok;
     ;
     break;}
 case 86:
-#line 715 "parser.y"
+#line 716 "parser.y"
 {
 	yyval.ok = yyvsp[-1].ok;
 	if ( yyvsp[0].ok )
@@ -1628,13 +1629,13 @@ case 86:
     ;
     break;}
 case 87:
-#line 720 "parser.y"
+#line 721 "parser.y"
 {
 	yyval.ok = yyvsp[0].ok;
     ;
     break;}
 case 88:
-#line 723 "parser.y"
+#line 724 "parser.y"
 {
 	yyval.ok = false;
 #ifdef CSS_DEBUG
@@ -1643,7 +1644,7 @@ case 88:
     ;
     break;}
 case 89:
-#line 729 "parser.y"
+#line 730 "parser.y"
 {
 	yyval.ok = false;
 #ifdef CSS_DEBUG
@@ -1652,13 +1653,13 @@ case 89:
     ;
     break;}
 case 90:
-#line 738 "parser.y"
+#line 739 "parser.y"
 {
 	yyval.ok = yyvsp[-2].ok;
     ;
     break;}
 case 91:
-#line 741 "parser.y"
+#line 742 "parser.y"
 {
 	yyval.ok = false;
 #ifdef CSS_DEBUG
@@ -1667,7 +1668,7 @@ case 91:
     ;
     break;}
 case 92:
-#line 747 "parser.y"
+#line 748 "parser.y"
 {
 	yyval.ok = false;
 #ifdef CSS_DEBUG
@@ -1676,7 +1677,7 @@ case 92:
     ;
     break;}
 case 93:
-#line 753 "parser.y"
+#line 754 "parser.y"
 {
 	yyval.ok = yyvsp[-3].ok;
 	if ( yyvsp[-2].ok )
@@ -1684,7 +1685,7 @@ case 93:
     ;
     break;}
 case 94:
-#line 758 "parser.y"
+#line 759 "parser.y"
 {
 	yyval.ok = yyvsp[-3].ok;
 #ifdef CSS_DEBUG
@@ -1693,7 +1694,7 @@ case 94:
     ;
     break;}
 case 95:
-#line 764 "parser.y"
+#line 765 "parser.y"
 {
 	yyval.ok = yyvsp[-5].ok;
 #ifdef CSS_DEBUG
@@ -1702,7 +1703,7 @@ case 95:
     ;
     break;}
 case 96:
-#line 773 "parser.y"
+#line 774 "parser.y"
 {
 	yyval.ok = false;
 	CSSParser *p = static_cast<CSSParser *>(parser);
@@ -1727,35 +1728,35 @@ case 96:
     ;
     break;}
 case 97:
-#line 796 "parser.y"
+#line 797 "parser.y"
 {
         yyval.ok = false;
     ;
     break;}
 case 98:
-#line 802 "parser.y"
+#line 803 "parser.y"
 {
 	QString str = qString(yyvsp[-1].string);
 	yyval.prop_id = getPropertyID( str.lower().latin1(), str.length() );
     ;
     break;}
 case 99:
-#line 809 "parser.y"
+#line 810 "parser.y"
 { yyval.b = true; ;
     break;}
 case 100:
-#line 810 "parser.y"
+#line 811 "parser.y"
 { yyval.b = false; ;
     break;}
 case 101:
-#line 814 "parser.y"
+#line 815 "parser.y"
 {
 	yyval.valueList = new ValueList;
 	yyval.valueList->addValue( yyvsp[0].value );
     ;
     break;}
 case 102:
-#line 818 "parser.y"
+#line 819 "parser.y"
 {
         yyval.valueList = yyvsp[-2].valueList;
 	if ( yyval.valueList ) {
@@ -1771,44 +1772,44 @@ case 102:
     ;
     break;}
 case 103:
-#line 831 "parser.y"
+#line 832 "parser.y"
 {
         delete yyvsp[-1].valueList;
         yyval.valueList = 0;
     ;
     break;}
 case 104:
-#line 838 "parser.y"
+#line 839 "parser.y"
 {
 	yyval.tok = '/';
     ;
     break;}
 case 105:
-#line 841 "parser.y"
+#line 842 "parser.y"
 {
 	yyval.tok = ',';
     ;
     break;}
 case 106:
-#line 844 "parser.y"
+#line 845 "parser.y"
 {
         yyval.tok = 0;
   ;
     break;}
 case 107:
-#line 850 "parser.y"
+#line 851 "parser.y"
 { yyval.value = yyvsp[0].value; ;
     break;}
 case 108:
-#line 851 "parser.y"
+#line 852 "parser.y"
 { yyval.value = yyvsp[0].value; yyval.value.fValue *= yyvsp[-1].val; ;
     break;}
 case 109:
-#line 852 "parser.y"
+#line 853 "parser.y"
 { yyval.value.id = 0; yyval.value.string = yyvsp[-1].string; yyval.value.unit = CSSPrimitiveValue::CSS_STRING; ;
     break;}
 case 110:
-#line 853 "parser.y"
+#line 854 "parser.y"
 {
       QString str = qString( yyvsp[-1].string );
       yyval.value.id = getValueID( str.lower().latin1(), str.length() );
@@ -1817,101 +1818,101 @@ case 110:
   ;
     break;}
 case 111:
-#line 859 "parser.y"
+#line 860 "parser.y"
 { yyval.value.id = 0; yyval.value.string = yyvsp[-1].string; yyval.value.unit = CSSPrimitiveValue::CSS_URI; ;
     break;}
 case 112:
-#line 860 "parser.y"
+#line 861 "parser.y"
 { yyval.value.id = 0; yyval.value.iValue = 0; yyval.value.unit = CSSPrimitiveValue::CSS_UNKNOWN;/* ### */ ;
     break;}
 case 113:
-#line 861 "parser.y"
+#line 862 "parser.y"
 { yyval.value.id = 0; yyval.value.string = yyvsp[0].string; yyval.value.unit = CSSPrimitiveValue::CSS_RGBCOLOR; ;
     break;}
 case 114:
-#line 863 "parser.y"
+#line 864 "parser.y"
 {
       yyval.value = yyvsp[0].value;
   ;
     break;}
 case 115:
-#line 869 "parser.y"
+#line 870 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_NUMBER; ;
     break;}
 case 116:
-#line 870 "parser.y"
+#line 871 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_PERCENTAGE; ;
     break;}
 case 117:
-#line 871 "parser.y"
+#line 872 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_PX; ;
     break;}
 case 118:
-#line 872 "parser.y"
+#line 873 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_CM; ;
     break;}
 case 119:
-#line 873 "parser.y"
+#line 874 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_MM; ;
     break;}
 case 120:
-#line 874 "parser.y"
+#line 875 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_IN; ;
     break;}
 case 121:
-#line 875 "parser.y"
+#line 876 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_PT; ;
     break;}
 case 122:
-#line 876 "parser.y"
+#line 877 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_PC; ;
     break;}
 case 123:
-#line 877 "parser.y"
+#line 878 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_DEG; ;
     break;}
 case 124:
-#line 878 "parser.y"
+#line 879 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_RAD; ;
     break;}
 case 125:
-#line 879 "parser.y"
+#line 880 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_GRAD; ;
     break;}
 case 126:
-#line 880 "parser.y"
+#line 881 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_MS; ;
     break;}
 case 127:
-#line 881 "parser.y"
+#line 882 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_S; ;
     break;}
 case 128:
-#line 882 "parser.y"
+#line 883 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_HZ; ;
     break;}
 case 129:
-#line 883 "parser.y"
+#line 884 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_KHZ; ;
     break;}
 case 130:
-#line 884 "parser.y"
+#line 885 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_EMS; ;
     break;}
 case 131:
-#line 885 "parser.y"
+#line 886 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = Value::Q_EMS; ;
     break;}
 case 132:
-#line 886 "parser.y"
+#line 887 "parser.y"
 { yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_EXS; ;
     break;}
 case 133:
-#line 887 "parser.y"
+#line 888 "parser.y"
 { yyval.value.id = 0; yyval.value.string = yyvsp[-1].string; yyval.value.unit = CSSPrimitiveValue::CSS_DIMENSION ;
     break;}
 case 134:
-#line 892 "parser.y"
+#line 893 "parser.y"
 {
       Function *f = new Function;
       f->name = yyvsp[-4].string;
@@ -1922,7 +1923,7 @@ case 134:
   ;
     break;}
 case 135:
-#line 900 "parser.y"
+#line 901 "parser.y"
 {
       yyval.value.id = 0;
       yyval.value.unit = Value::Function;
@@ -1930,11 +1931,11 @@ case 135:
   ;
     break;}
 case 136:
-#line 912 "parser.y"
+#line 913 "parser.y"
 { yyval.string = yyvsp[-1].string; ;
     break;}
 case 137:
-#line 919 "parser.y"
+#line 920 "parser.y"
 {
 	yyval.rule = 0;
 #ifdef CSS_DEBUG
@@ -1943,7 +1944,7 @@ case 137:
     ;
     break;}
 case 138:
-#line 925 "parser.y"
+#line 926 "parser.y"
 {
 	yyval.rule = 0;
 #ifdef CSS_DEBUG
@@ -1952,7 +1953,7 @@ case 138:
     ;
     break;}
 case 139:
-#line 934 "parser.y"
+#line 935 "parser.y"
 {
 	yyval.rule = 0;
 #ifdef CSS_DEBUG
@@ -2182,6 +2183,6 @@ yyerrhandle:
     }
   return 1;
 }
-#line 969 "parser.y"
+#line 970 "parser.y"
 
 
diff --git a/WebCore/khtml/css/parser.y b/WebCore/khtml/css/parser.y
index fb7050e..762ea78 100644
--- a/WebCore/khtml/css/parser.y
+++ b/WebCore/khtml/css/parser.y
@@ -372,7 +372,8 @@ media_list:
     }
     | media_list ',' maybe_space medium {
 	$$ = $1;
-	$$->appendMedium( domString($4) );
+        if ($$)
+	    $$->appendMedium( domString($4) );
     }
     | media_list error {
         delete $1;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list