<?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>174628</bug_id>
          
          <creation_ts>2017-07-18 07:28:25 -0700</creation_ts>
          <short_desc>[EME] Build failure with Clang-3.8 on InitDataRegistry.cpp</short_desc>
          <delta_ts>2017-07-19 10:27:20 -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>WPE WebKit</component>
          <version>WebKit 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>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Carlos Alberto Lopez Perez">clopez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>eocanha</cc>
    
    <cc>ggaren</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1329969</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-07-18 07:28:25 -0700</bug_when>
    <thetext>Building WPE with clang-3.8 gives this error:

Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/Modules/encryptedmedia/InitDataRegistry.cpp.o
FAILED: Source/WebCore/CMakeFiles/WebCore.dir/Modules/encryptedmedia/InitDataRegistry.cpp.o 
/usr/lib/ccache/clang++   -DBUILDING_WITH_CMAKE=1 -DBUILDING_WPE__=1 -DBUILDING_WebCore -DDATA_DIR=\&quot;share\&quot; -DGETTEXT_PACKAGE=\&quot;WPE\&quot; -DHAVE_CONFIG_H=1 -DSTATICALLY_LINKED_WITH_PAL=1 -isystem ../DependenciesWPE/Root/include/gstreamer-1.0 -isystem ../DependenciesWPE/Root/include/glib-2.0 -isystem ../DependenciesWPE/Root/lib/glib-2.0/include  [.....]  Source/WebCore/CMakeFiles/WebCore.dir/Modules/encryptedmedia/InitDataRegistry.cpp.o -MF Source/WebCore/CMakeFiles/WebCore.dir/Modules/encryptedmedia/InitDataRegistry.cpp.o.d -o Source/WebCore/CMakeFiles/WebCore.dir/Modules/encryptedmedia/InitDataRegistry.cpp.o -c /home/clopez/webkit/wpe/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp
ICECC[13551] 16:24:49: no server found behind given hostname 192.168.10.152:10245
ICECC[13551] 16:24:49: got exception 2 (192.168.10.152) 
/home/clopez/webkit/wpe/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp:45:34: error: non-constant-expression cannot be narrowed from type &apos;size_t&apos; (aka &apos;unsigned long&apos;) to &apos;unsigned int&apos; in initializer list [-Wc++11-narrowing]
    String json { buffer.data(), buffer.size() };
                                 ^~~~~~~~~~~~~
/home/clopez/webkit/wpe/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp:45:34: note: insert an explicit cast to silence this issue
    String json { buffer.data(), buffer.size() };
                                 ^~~~~~~~~~~~~
                                 static_cast&lt;unsigned int&gt;( )
1 error generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329970</commentid>
    <comment_count>1</comment_count>
      <attachid>315793</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-07-18 07:33:04 -0700</bug_when>
    <thetext>Created attachment 315793
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329973</commentid>
    <comment_count>2</comment_count>
      <attachid>315793</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-07-18 07:52:30 -0700</bug_when>
    <thetext>Comment on attachment 315793
Patch

I&apos;m not sure about this. Clearly a String cannot hold as much data as a SharedBuffer, but perhaps extractKeyIDsKeyids should return an error instead of silently truncating the data?

It&apos;s odd that the String class uses unsigned rather than size_t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329974</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-07-18 08:04:47 -0700</bug_when>
    <thetext>I&apos;m also not sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330350</commentid>
    <comment_count>4</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-07-19 06:18:31 -0700</bug_when>
    <thetext>In practice it&apos;s unlikely that such a large JSON input would be passed in. If it was truncated, it&apos;s again unlikely that it would be correctly parsed  in the parseJSON() call.

But for the sake of tidiness the input SharedBuffer should have its size tested, returning immediately if it exceeds the maximum value that fits into the unsigned type. After that we can static_cast&lt;&gt; the size_t value to unsigned without an issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330352</commentid>
    <comment_count>5</comment_count>
      <attachid>315917</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-07-19 06:56:11 -0700</bug_when>
    <thetext>Created attachment 315917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330372</commentid>
    <comment_count>6</comment_count>
      <attachid>315917</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-07-19 09:37:31 -0700</bug_when>
    <thetext>Comment on attachment 315917
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=315917&amp;action=review

&gt; Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp:45
&gt; +    if (buffer.size() &gt; UINT_MAX)

I think std::numeric_limits&lt;unsigned&gt;::max() would fit better, but up to you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330399</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-07-19 10:27:20 -0700</bug_when>
    <thetext>Committed r219658: &lt;http://trac.webkit.org/changeset/219658&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315793</attachid>
            <date>2017-07-18 07:33:04 -0700</date>
            <delta_ts>2017-07-19 06:56:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174628-20170718163302.patch</filename>
            <type>text/plain</type>
            <size>1523</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5NjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGU0Mjc3NTYzZjZmYTUz
ZTBhYWMxNGMxNjc3YzEzODcwMmRkMDgzNS4uYzQyMDIxMzM4MmNhNjVmMjFhYmQ0NzZlZWQ5Nzlj
NWMxY2I1ZWY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTA3LTE4ICBDYXJs
b3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtF
TUVdIEJ1aWxkIGZhaWx1cmUgd2l0aCBDbGFuZy0zLjggb24gSW5pdERhdGFSZWdpc3RyeS5jcHAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDYyOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9Jbml0RGF0YVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmV4dHJhY3RLZXlJRHNLZXlpZHMpOiBBZGQgYW4gZXhwbGljaXQgY2FzdCB0byB1bnNpZ25lZC4K
KwogMjAxNy0wNy0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAg
IERPTUV4Y2VwdGlvbiBzaG91bGQgaGF2ZSBpdHMgcHJvcGVydGllcyBvbiB0aGUgcHJvdG90eXBl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0luaXRE
YXRhUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9J
bml0RGF0YVJlZ2lzdHJ5LmNwcAppbmRleCAwN2UzODE5M2Y2ZTM0ZTE5ZjRiMmEzYTYzNjUwNjIz
YTFjYmE5NTU0Li4yZThmNGE1NmI1M2UyYTQ4OWFkNGNjZDJjYTU5ZWI1MTdhYTZmZjYzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0luaXREYXRhUmVn
aXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvSW5p
dERhdGFSZWdpc3RyeS5jcHAKQEAgLTQyLDcgKzQyLDcgQEAgc3RhdGljIFZlY3RvcjxSZWY8U2hh
cmVkQnVmZmVyPj4gZXh0cmFjdEtleUlEc0tleWlkcyhjb25zdCBTaGFyZWRCdWZmZXImIGJ1ZmZl
cikKIHsKICAgICAvLyAxLiBGb3JtYXQKICAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vZW5j
cnlwdGVkLW1lZGlhL2Zvcm1hdC1yZWdpc3RyeS9pbml0ZGF0YS9rZXlpZHMuaHRtbCNmb3JtYXQK
LSAgICBTdHJpbmcganNvbiB7IGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkgfTsKKyAgICBT
dHJpbmcganNvbiB7IGJ1ZmZlci5kYXRhKCksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihidWZmZXIu
c2l6ZSgpKSB9OwogCiAgICAgUmVmUHRyPEluc3BlY3RvclZhbHVlPiB2YWx1ZTsKICAgICBpZiAo
IUluc3BlY3RvclZhbHVlOjpwYXJzZUpTT04oanNvbiwgdmFsdWUpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315917</attachid>
            <date>2017-07-19 06:56:11 -0700</date>
            <delta_ts>2017-07-19 09:37:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174628-20170719155610.patch</filename>
            <type>text/plain</type>
            <size>1579</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5NjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGU0Mjc3NTYzZjZmYTUz
ZTBhYWMxNGMxNjc3YzEzODcwMmRkMDgzNS4uYzQyMDIxMzM4MmNhNjVmMjFhYmQ0NzZlZWQ5Nzlj
NWMxY2I1ZWY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTA3LTE4ICBDYXJs
b3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtF
TUVdIEJ1aWxkIGZhaWx1cmUgd2l0aCBDbGFuZy0zLjggb24gSW5pdERhdGFSZWdpc3RyeS5jcHAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDYyOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9Jbml0RGF0YVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmV4dHJhY3RLZXlJRHNLZXlpZHMpOiBBZGQgYW4gZXhwbGljaXQgY2FzdCB0byB1bnNpZ25lZC4K
KwogMjAxNy0wNy0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAg
IERPTUV4Y2VwdGlvbiBzaG91bGQgaGF2ZSBpdHMgcHJvcGVydGllcyBvbiB0aGUgcHJvdG90eXBl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0luaXRE
YXRhUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9J
bml0RGF0YVJlZ2lzdHJ5LmNwcAppbmRleCAwN2UzODE5M2Y2ZTM0ZTE5ZjRiMmEzYTYzNjUwNjIz
YTFjYmE5NTU0Li4zYWRjOWViZGMzYmM5NmZlMTU2ZWExMDMxZjZmZWI5YTFjYjBkN2E0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0luaXREYXRhUmVn
aXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvSW5p
dERhdGFSZWdpc3RyeS5jcHAKQEAgLTQyLDcgKzQyLDkgQEAgc3RhdGljIFZlY3RvcjxSZWY8U2hh
cmVkQnVmZmVyPj4gZXh0cmFjdEtleUlEc0tleWlkcyhjb25zdCBTaGFyZWRCdWZmZXImIGJ1ZmZl
cikKIHsKICAgICAvLyAxLiBGb3JtYXQKICAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vZW5j
cnlwdGVkLW1lZGlhL2Zvcm1hdC1yZWdpc3RyeS9pbml0ZGF0YS9rZXlpZHMuaHRtbCNmb3JtYXQK
LSAgICBTdHJpbmcganNvbiB7IGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkgfTsKKyAgICBp
ZiAoYnVmZmVyLnNpemUoKSA+IFVJTlRfTUFYKQorICAgICAgICByZXR1cm4geyB9OworICAgIFN0
cmluZyBqc29uIHsgYnVmZmVyLmRhdGEoKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGJ1ZmZlci5z
aXplKCkpIH07CiAKICAgICBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+IHZhbHVlOwogICAgIGlmICgh
SW5zcGVjdG9yVmFsdWU6OnBhcnNlSlNPTihqc29uLCB2YWx1ZSkpCg==
</data>
<flag name="review"
          id="336645"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
      

    </bug>

</bugzilla>