<?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>118483</bug_id>
          
          <creation_ts>2013-07-08 14:16:58 -0700</creation_ts>
          <short_desc>WebVTTParser&apos;s identifier buffering can ignore subsequent lines</short_desc>
          <delta_ts>2013-07-24 08:43: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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>0</everconfirmed>
          <reporter name="Brendan Long">b.long</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>906909</commentid>
    <comment_count>0</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-07-08 14:16:58 -0700</bug_when>
    <thetext>In WebVTTParser::parseBytes, we do this:


    String line = collectNextLine(data, length, &amp;position);

    switch (m_state) {
    case Initial:
        // Buffer up at least 9 bytes before proceeding with checking for the file identifier.
        m_identifierData.append(data, length);
        if (m_identifierData.size() &lt; bomLength + fileIdentifierLength)
            return;

But it doesn&apos;t work in this situation:

    parser-&gt;parseBytes(&quot;WEBVTT\n\n&quot;, 8);
    parser-&gt;parseBytes(&quot;00:00:00.000 --&gt; 00:00:10.000\nCue text\n\n&quot;, strlen(&quot;00:00:00.000 --&gt; 00:00:10.000\nCue text\n\n&quot;);

The first parseBytes call has less than 9 bytes, so it does nothing. The second parseBytes call collects the current line (&quot;00:00:00.000 --&gt; 00:00:10.000&quot;), but since the state is `Initial`, it just checks the identifier and throws away the current line. Now it collects the next line (&quot;Cue text&quot;), and because we&apos;re in state `Header`, it treats it as a comment and throws it away too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906911</commentid>
    <comment_count>1</comment_count>
      <attachid>206267</attachid>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-07-08 14:21:09 -0700</bug_when>
    <thetext>Created attachment 206267
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906913</commentid>
    <comment_count>2</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-07-08 14:27:28 -0700</bug_when>
    <thetext>I guess I should explain the patch: If `position == line.sizeInBytes()`, then we haven&apos;t parsed a line ending yet, so it&apos;s safe to continue buffering. If `position &gt; line.sizeInBytes()`, then we parsed the entire line and should check it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908908</commentid>
    <comment_count>3</comment_count>
      <attachid>206267</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-16 09:06:53 -0700</bug_when>
    <thetext>Comment on attachment 206267
Patch

Rejecting attachment 206267 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 206267, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

/Volumes/Data/EWS/WebKit/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.appspot.com/results/1090259</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908915</commentid>
    <comment_count>4</comment_count>
      <attachid>206788</attachid>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-07-16 09:20:18 -0700</bug_when>
    <thetext>Created attachment 206788
Fix changelog to have reviewer section</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911070</commentid>
    <comment_count>5</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-07-23 10:12:07 -0700</bug_when>
    <thetext>Eric, can you review this again? All I changed was adding the &quot;Reviewed by nobody (Oops)&quot; line back so the commit queue would like it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911315</commentid>
    <comment_count>6</comment_count>
      <attachid>206788</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-24 08:43:34 -0700</bug_when>
    <thetext>Comment on attachment 206788
Fix changelog to have reviewer section

Clearing flags on attachment: 206788

Committed r153086: &lt;http://trac.webkit.org/changeset/153086&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911316</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-24 08:43:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206267</attachid>
            <date>2013-07-08 14:21:09 -0700</date>
            <delta_ts>2013-07-16 09:20:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118483-20130708151916.patch</filename>
            <type>text/plain</type>
            <size>1803</size>
            <attacher name="Brendan Long">b.long</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTY0ODNiNmZiOTM1Njcz
NGViZGNhYWJiNzRmZTJlMDYyODEwZjg3OS4uYjdlNTJmOTYxNjk4NjgzMzgwNDZjOTI5OWYyZjY2
MTAyODBkYWQyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTA3LTA4ICBCcmVu
ZGFuIExvbmcgIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KKworICAgICAgICBXZWJWVFRQYXJzZXIn
cyBpZGVudGlmaWVyIGJ1ZmZlcmluZyBjYW4gaWdub3JlIHN1YnNlcXVlbnQgbGluZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODQ4MworCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSB0aGlzIGJ1ZyBjYW4ndCBiZSByZXByb2R1Y2VkIGluIGxh
eW91dCB0ZXN0cy4KKworICAgICAgICAqIGh0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYlZUVFBhcnNlcjo6cGFyc2VCeXRlcyk6IE9ubHkgYnVmZmVyIHRo
ZSBpZGVudGlmaWVyIGlmIHdlIGhhdmVuJ3QgcmVhZCBhbiBlbnRpcmUgbGluZS4KKwogMjAxMy0w
Ny0wOCAgUnV0aCBGb25nICA8cnV0aF9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggVGV4
dFRyYWNrQ3VlOjpjdWVJbmRleCgpIHRvIGhhbmRsZSB0aGUgbnVsbCBjYXNlIG9mIFRleHRUcmFj
azo6Y3VlcygoKSBwcm9wZXJseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9XZWJWVFRQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJz
ZXIuY3BwCmluZGV4IDljMzVkMjFhNWUxOTk2YzE3MjY1N2NhNzRkZGJhNjI4MDJhNzgwMzQuLjNm
MTA4OTIyYWU1ZjdkZmIxM2NkZmFhYmYwZmRiYzc3N2Q0MzQ1YjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1dlYlZUVFBhcnNlci5jcHAKQEAgLTE1MSw5ICsxNTEsOSBAQCB2b2lkIFdl
YlZUVFBhcnNlcjo6cGFyc2VCeXRlcyhjb25zdCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgp
CiAKICAgICAgICAgc3dpdGNoIChtX3N0YXRlKSB7CiAgICAgICAgIGNhc2UgSW5pdGlhbDoKLSAg
ICAgICAgICAgIC8vIEJ1ZmZlciB1cCBhdCBsZWFzdCA5IGJ5dGVzIGJlZm9yZSBwcm9jZWVkaW5n
IHdpdGggY2hlY2tpbmcgZm9yIHRoZSBmaWxlIGlkZW50aWZpZXIuCisgICAgICAgICAgICAvLyBC
dWZmZXIgdXAgYXQgbGVhc3QgOSBieXRlcyBvciBhIGZ1bGwgbGluZSBiZWZvcmUgcHJvY2VlZGlu
ZyB3aXRoIGNoZWNraW5nIGZvciB0aGUgZmlsZSBpZGVudGlmaWVyLgogICAgICAgICAgICAgbV9p
ZGVudGlmaWVyRGF0YS5hcHBlbmQoZGF0YSwgbGVuZ3RoKTsKLSAgICAgICAgICAgIGlmIChtX2lk
ZW50aWZpZXJEYXRhLnNpemUoKSA8IGJvbUxlbmd0aCArIGZpbGVJZGVudGlmaWVyTGVuZ3RoKQor
ICAgICAgICAgICAgaWYgKHBvc2l0aW9uID09IGxpbmUuc2l6ZUluQnl0ZXMoKSAmJiBtX2lkZW50
aWZpZXJEYXRhLnNpemUoKSA8IGJvbUxlbmd0aCArIGZpbGVJZGVudGlmaWVyTGVuZ3RoKQogICAg
ICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAgICAgLy8gNC0xMiAtIENvbGxlY3QgdGhl
IGZpcnN0IGxpbmUgYW5kIGNoZWNrIGZvciAiV0VCVlRUIi4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206788</attachid>
            <date>2013-07-16 09:20:18 -0700</date>
            <delta_ts>2013-07-24 08:43:34 -0700</delta_ts>
            <desc>Fix changelog to have reviewer section</desc>
            <filename>bug-118483-20130716102014.patch</filename>
            <type>text/plain</type>
            <size>1826</size>
            <attacher name="Brendan Long">b.long</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRlNzY0OGI5ZTU5OGNk
MGQzOTAyODJiZWJkMDA5NTc4NjFjYzg5ZS4uYTZiMWJlODU5MGZkNjU1ZGJmMmNkYTUyYTMxMWU3
ZDM1OTA5MzJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA3LTE2ICBCcmVu
ZGFuIExvbmcgIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KKworICAgICAgICBXZWJWVFRQYXJzZXIn
cyBpZGVudGlmaWVyIGJ1ZmZlcmluZyBjYW4gaWdub3JlIHN1YnNlcXVlbnQgbGluZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODQ4MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBz
aW5jZSB0aGlzIGJ1ZyBjYW4ndCBiZSByZXByb2R1Y2VkIGluIGxheW91dCB0ZXN0cy4KKworICAg
ICAgICAqIGh0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlZUVFBhcnNlcjo6cGFyc2VCeXRlcyk6IE9ubHkgYnVmZmVyIHRoZSBpZGVudGlmaWVyIGlmIHdl
IGhhdmVuJ3QgcmVhZCBhbiBlbnRpcmUgbGluZS4KKwogMjAxMy0wNy0xNiAgRXJpYyBDYXJsc29u
ICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBIVE1MTWVkaWFFbGVtZW50IHNo
b3VsZCBub3QgYWRkIGN1ZXMgZm9yIGRpc2FibGVkIHRleHQgdHJhY2tzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZUVFBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1dlYlZUVFBhcnNlci5jcHAKaW5kZXggOWMzNWQyMWE1ZTE5OTZjMTcyNjU3
Y2E3NGRkYmE2MjgwMmE3ODAzNC4uM2YxMDg5MjJhZTVmN2RmYjEzY2RmYWFiZjBmZGJjNzc3ZDQz
NDViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmNwcApAQCAt
MTUxLDkgKzE1MSw5IEBAIHZvaWQgV2ViVlRUUGFyc2VyOjpwYXJzZUJ5dGVzKGNvbnN0IGNoYXIq
IGRhdGEsIHVuc2lnbmVkIGxlbmd0aCkKIAogICAgICAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKICAg
ICAgICAgY2FzZSBJbml0aWFsOgotICAgICAgICAgICAgLy8gQnVmZmVyIHVwIGF0IGxlYXN0IDkg
Ynl0ZXMgYmVmb3JlIHByb2NlZWRpbmcgd2l0aCBjaGVja2luZyBmb3IgdGhlIGZpbGUgaWRlbnRp
Zmllci4KKyAgICAgICAgICAgIC8vIEJ1ZmZlciB1cCBhdCBsZWFzdCA5IGJ5dGVzIG9yIGEgZnVs
bCBsaW5lIGJlZm9yZSBwcm9jZWVkaW5nIHdpdGggY2hlY2tpbmcgZm9yIHRoZSBmaWxlIGlkZW50
aWZpZXIuCiAgICAgICAgICAgICBtX2lkZW50aWZpZXJEYXRhLmFwcGVuZChkYXRhLCBsZW5ndGgp
OwotICAgICAgICAgICAgaWYgKG1faWRlbnRpZmllckRhdGEuc2l6ZSgpIDwgYm9tTGVuZ3RoICsg
ZmlsZUlkZW50aWZpZXJMZW5ndGgpCisgICAgICAgICAgICBpZiAocG9zaXRpb24gPT0gbGluZS5z
aXplSW5CeXRlcygpICYmIG1faWRlbnRpZmllckRhdGEuc2l6ZSgpIDwgYm9tTGVuZ3RoICsgZmls
ZUlkZW50aWZpZXJMZW5ndGgpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgICAg
ICAvLyA0LTEyIC0gQ29sbGVjdCB0aGUgZmlyc3QgbGluZSBhbmQgY2hlY2sgZm9yICJXRUJWVFQi
Lgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>