<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>27453</bug_id>
          
          <creation_ts>2009-07-20 11:59:41 -0700</creation_ts>
          <short_desc>Uninitialized variable in WebCore::CSSFunctionValue::parserValue</short_desc>
          <delta_ts>2009-07-21 12:20:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Hawkins">jhawkins</reporter>
          <assigned_to name="David Levin">levin</assigned_to>
          <cc>hyatt</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>133186</commentid>
    <comment_count>0</comment_count>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2009-07-20 11:59:41 -0700</bug_when>
    <thetext>WebCore::CSSFunctionValue::parserValue creates a CSSParserValue for a function, but doesn&apos;t initialize isInt (which obviously should be false).  I will attach a patch shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133187</commentid>
    <comment_count>1</comment_count>
      <attachid>33097</attachid>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2009-07-20 12:02:40 -0700</bug_when>
    <thetext>Created attachment 33097
Patch which initializes a variable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133194</commentid>
    <comment_count>2</comment_count>
      <attachid>33099</attachid>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2009-07-20 12:16:03 -0700</bug_when>
    <thetext>Created attachment 33099
removed tabs from Changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133217</commentid>
    <comment_count>3</comment_count>
      <attachid>33099</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-07-20 13:53:49 -0700</bug_when>
    <thetext>Comment on attachment 33099
removed tabs from Changelog

Test case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133232</commentid>
    <comment_count>4</comment_count>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2009-07-20 14:31:39 -0700</bug_when>
    <thetext>Currently the only code that checks isInt will short-circuit on a check for CSSPrimitiveValue::CSS_NUMBER or (unitFlags &amp; FInteger).

CSSParser.cpp
419:        if (!b &amp;&amp; (unitflags &amp; FInteger) &amp;&amp; value-&gt;isInt)

CSSParserValues.cpp
64:    else if (unit == CSSPrimitiveValue::CSS_NUMBER &amp;&amp; isInt)

With that being said, I don&apos;t think I can write a test case that will fail before the change and succeed with the patch applied.  Regardless, code added in the future could depend on the value of isInt alone, which could be set to garbage if left uninitialized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133268</commentid>
    <comment_count>5</comment_count>
      <attachid>33099</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-07-20 15:30:09 -0700</bug_when>
    <thetext>Comment on attachment 33099
removed tabs from Changelog

Ok, sounds fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133532</commentid>
    <comment_count>6</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-07-21 11:23:48 -0700</bug_when>
    <thetext>Assigned to levin for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133552</commentid>
    <comment_count>7</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-07-21 12:20:36 -0700</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/46186</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33097</attachid>
            <date>2009-07-20 12:02:40 -0700</date>
            <delta_ts>2009-07-20 12:16:26 -0700</delta_ts>
            <desc>Patch which initializes a variable</desc>
            <filename>initisint.diff</filename>
            <type>text/plain</type>
            <size>1119</size>
            <attacher name="James Hawkins">jhawkins</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NjEyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDctMjAgIEphbWVzIEhhd2tpbnMgIDxqaGF3a2luc0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisJaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3NDUzCisJSW5pdGlhbGl6ZSBpc0lu
dCB3aGVuIGNyZWF0aW5nIGEgQ1NTUGFyc2VyVmFsdWUgZm9yIGEgZnVuY3Rpb24uCisKKwlObyBj
aGFuZ2UgaW4gYmVoYXZpb3IsIHNvIG5vIHRlc3RzLgorCisgICAgICAgICogY3NzL0NTU0Z1bmN0
aW9uVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRnVuY3Rpb25WYWx1ZTo6cGFyc2Vy
VmFsdWUpOgorCiAyMDA5LTA3LTIwICBEdW1pdHJ1IERhbmlsaXVjICA8ZHVtaUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpJbmRleDogV2ViQ29y
ZS9jc3MvQ1NTRnVuY3Rpb25WYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NT
RnVuY3Rpb25WYWx1ZS5jcHAJKHJldmlzaW9uIDQ2MTI2KQorKysgV2ViQ29yZS9jc3MvQ1NTRnVu
Y3Rpb25WYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUzLDYgKzUzLDcgQEAgQ1NTUGFyc2Vy
VmFsdWUgQ1NTRnVuY3Rpb25WYWx1ZTo6cGFyc2VyVgogewogICAgIENTU1BhcnNlclZhbHVlIHZh
bDsKICAgICB2YWwuaWQgPSAwOworICAgIHZhbC5pc0ludCA9IGZhbHNlOwogICAgIHZhbC51bml0
ID0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uOwogICAgIHZhbC5mdW5jdGlvbiA9IG5ldyBDU1NQ
YXJzZXJGdW5jdGlvbjsKICAgICB2YWwuZnVuY3Rpb24tPm5hbWUuY2hhcmFjdGVycyA9IGNvbnN0
X2Nhc3Q8VUNoYXIqPihtX25hbWUuY2hhcmFjdGVycygpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33099</attachid>
            <date>2009-07-20 12:16:03 -0700</date>
            <delta_ts>2009-07-20 15:30:09 -0700</delta_ts>
            <desc>removed tabs from Changelog</desc>
            <filename>initisint.diff</filename>
            <type>text/plain</type>
            <size>1140</size>
            <attacher name="James Hawkins">jhawkins</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NjEyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDctMjAgIEphbWVzIEhhd2tpbnMgIDxqaGF3a2luc0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzQ1MworICAgICAgICBJ
bml0aWFsaXplIGlzSW50IHdoZW4gY3JlYXRpbmcgYSBDU1NQYXJzZXJWYWx1ZSBmb3IgYSBmdW5j
dGlvbi4KKworICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IsIHNvIG5vIHRlc3RzLgorCisg
ICAgICAgICogY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
RnVuY3Rpb25WYWx1ZTo6cGFyc2VyVmFsdWUpOgorCiAyMDA5LTA3LTIwICBEdW1pdHJ1IERhbmls
aXVjICA8ZHVtaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBH
bGF6a292LgpJbmRleDogV2ViQ29yZS9jc3MvQ1NTRnVuY3Rpb25WYWx1ZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9jc3MvQ1NTRnVuY3Rpb25WYWx1ZS5jcHAJKHJldmlzaW9uIDQ2MTI2KQor
KysgV2ViQ29yZS9jc3MvQ1NTRnVuY3Rpb25WYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUz
LDYgKzUzLDcgQEAgQ1NTUGFyc2VyVmFsdWUgQ1NTRnVuY3Rpb25WYWx1ZTo6cGFyc2VyVgogewog
ICAgIENTU1BhcnNlclZhbHVlIHZhbDsKICAgICB2YWwuaWQgPSAwOworICAgIHZhbC5pc0ludCA9
IGZhbHNlOwogICAgIHZhbC51bml0ID0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uOwogICAgIHZh
bC5mdW5jdGlvbiA9IG5ldyBDU1NQYXJzZXJGdW5jdGlvbjsKICAgICB2YWwuZnVuY3Rpb24tPm5h
bWUuY2hhcmFjdGVycyA9IGNvbnN0X2Nhc3Q8VUNoYXIqPihtX25hbWUuY2hhcmFjdGVycygpKTsK
</data>
<flag name="review"
          id="17427"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>