<?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>118736</bug_id>
          
          <creation_ts>2013-07-16 09:16:50 -0700</creation_ts>
          <short_desc>Fix some NSDictionary misuse pointed out by the clang static analyzer</short_desc>
          <delta_ts>2013-07-16 11:03:39 -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>WebKit Misc.</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>1</everconfirmed>
          <reporter name="Jessie Berlin">jberlin</reporter>
          <assigned_to name="Jessie Berlin">jberlin</assigned_to>
          <cc>andersca</cc>
    
    <cc>jberlin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>908914</commentid>
    <comment_count>0</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2013-07-16 09:16:50 -0700</bug_when>
    <thetext>When I run the clang static analyzer against ToT (152721), it points out some places where WebKit and WebKit2 are misusing NSDictionary. We should fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908926</commentid>
    <comment_count>1</comment_count>
      <attachid>206791</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2013-07-16 09:52:01 -0700</bug_when>
    <thetext>Created attachment 206791
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908947</commentid>
    <comment_count>2</comment_count>
      <attachid>206791</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-07-16 10:20:33 -0700</bug_when>
    <thetext>Comment on attachment 206791
Patch

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

&gt; Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm:380
&gt;      NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys: excludedElements, NSExcludedElementsDocumentAttribute, 

Seems like this can just use dictionaryWithObject:forKey:

&gt; Source/WebKit2/WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:114
&gt; -        NSExcludedElementsDocumentAttribute, nil, @&quot;WebResourceHandler&quot;, nil];
&gt; +        NSExcludedElementsDocumentAttribute, nil];

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908951</commentid>
    <comment_count>3</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2013-07-16 10:49:24 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 206791 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=206791&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm:380
&gt; &gt;      NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys: excludedElements, NSExcludedElementsDocumentAttribute, 
&gt; 
&gt; Seems like this can just use dictionaryWithObject:forKey:

Heh, yes. Done.

&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:114
&gt; &gt; -        NSExcludedElementsDocumentAttribute, nil, @&quot;WebResourceHandler&quot;, nil];
&gt; &gt; +        NSExcludedElementsDocumentAttribute, nil];
&gt; 
&gt; Ditto.

Done.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908956</commentid>
    <comment_count>4</comment_count>
      <attachid>206791</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2013-07-16 11:03:33 -0700</bug_when>
    <thetext>Comment on attachment 206791
Patch

Committed in http://trac.webkit.org/changeset/152730</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206791</attachid>
            <date>2013-07-16 09:52:01 -0700</date>
            <delta_ts>2013-07-16 11:03:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Fix-some-NSDictionary-misuse-pointed-out-by-the-clan.patch</filename>
            <type>text/plain</type>
            <size>5691</size>
            <attacher name="Jessie Berlin">jberlin</attacher>
            
              <data encoding="base64">RnJvbSBhOWJiNWFiY2M2ZmY3NDMwYWNlZDU1MjIyNTAwYjhlNWY1YmVlZmM2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKZXNzaWUgQmVybGluIDxqYmVybGluQHdlYmtpdC5vcmc+CkRh
dGU6IFR1ZSwgMTYgSnVsIDIwMTMgMDk6NTA6NTEgLTA3MDAKU3ViamVjdDogW1BBVENIXSBGaXgg
c29tZSBOU0RpY3Rpb25hcnkgbWlzdXNlIHBvaW50ZWQgb3V0IGJ5IHRoZSBjbGFuZyBzdGF0aWMK
IGFuYWx5emVyIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg3MzYK
ClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKU291cmNlL1dlYktpdC9tYWM6CgoqIFBsdWdp
bnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSG9zdE1hbmFnZXIubW06CihXZWJLaXQ6Ok5ldHNjYXBl
UGx1Z2luSG9zdE1hbmFnZXI6OnNwYXduUGx1Z2luSG9zdCk6CkV4cGxpY2l0bHkgY2FzdCB0aGUg
Q0ZTdHJpbmdSZWYgdG8gYW4gTlNTdHJpbmcgKi4KKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQubW06CihXZWJFZGl0b3JDbGllbnQ6OmRvY3VtZW50RnJhZ21lbnRGcm9tQXR0cmlidXRl
ZFN0cmluZyk6CkRvIG5vdCBwdXQgYSBrZXkgd2l0aCBhIG5pbCB2YWx1ZSBwYWlyIGludG8gdGhl
IE5TRGljdGlvbmFyeS4KClNvdXJjZS9XZWJLaXQyOgoKKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L21hYy9XZWJFZGl0b3JDbGllbnRNYWMubW06CihXZWJLaXQ6OldlYkVkaXRvckNsaWVudDo6
ZG9jdW1lbnRGcmFnbWVudEZyb21BdHRyaWJ1dGVkU3RyaW5nKToKRG8gbm90IHB1dCBhIGtleSB3
aXRoIGEgbmlsIHZhbHVlIHBhaXIgaW50byB0aGUgTlNEaWN0aW9uYXJ5LgotLS0KIFNvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNCAr
KysrKysrKysrKysrKwogLi4uL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVn
aW5Ib3N0TWFuYWdlci5tbSB8ICAyICstCiBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJFZGl0b3JDbGllbnQubW0gICAgICAgIHwgIDQgKystLQogU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDExICsrKysrKysrKysr
CiAuLi4vV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViRWRpdG9yQ2xpZW50TWFjLm1t
ICAgIHwgIDIgKy0KIDUgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZWIwMDg0My4uY2ZkNTY4NTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wNy0xNiAgSmVzc2llIEJlcmxpbiAgPGpiZXJs
aW5AYXBwbGUuY29tPgorCisgICAgICAgIEZpeCBzb21lIE5TRGljdGlvbmFyeSBtaXN1c2UgcG9p
bnRlZCBvdXQgYnkgdGhlIGNsYW5nIHN0YXRpYyBhbmFseXplcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NzM2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBs
dWdpbkhvc3RNYW5hZ2VyLm1tOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkhvc3RN
YW5hZ2VyOjpzcGF3blBsdWdpbkhvc3QpOgorICAgICAgICBFeHBsaWNpdGx5IGNhc3QgdGhlIENG
U3RyaW5nUmVmIHRvIGFuIE5TU3RyaW5nICouCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50Lm1tOgorICAgICAgICAoV2ViRWRpdG9yQ2xpZW50Ojpkb2N1bWVudEZyYWdt
ZW50RnJvbUF0dHJpYnV0ZWRTdHJpbmcpOgorICAgICAgICBEbyBub3QgcHV0IGEga2V5IHdpdGgg
YSBuaWwgdmFsdWUgcGFpciBpbnRvIHRoZSBOU0RpY3Rpb25hcnkuCisKIDIwMTMtMDctMTUgIFRp
bSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIGJs
b2NrZWQvbWlzc2luZyBwbHVnLWluIFVJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Q
bHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkhvc3RNYW5hZ2VyLm1tIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5Ib3N0TWFuYWdlci5tbQppbmRleCBi
NDk2ZTRhLi5mYmRhNzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hv
c3RlZC9OZXRzY2FwZVBsdWdpbkhvc3RNYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSG9zdE1hbmFnZXIubW0KQEAgLTExOCw3ICsx
MTgsNyBAQCBib29sIE5ldHNjYXBlUGx1Z2luSG9zdE1hbmFnZXI6OnNwYXduUGx1Z2luSG9zdChj
b25zdCBTdHJpbmcmIHBsdWdpblBhdGgsIGNwdV90eQogICAgIE5TRGljdGlvbmFyeSAqbGF1bmNo
UHJvcGVydGllcyA9IFtbTlNEaWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aE9iamVjdHNBbmRLZXlz
OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbHVnaW5Ib3N0QXBwRXhl
Y3V0YWJsZVBhdGgsIEAicGx1Z2luSG9zdFBhdGgiLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEludDpwbHVnaW5BcmNoaXRlY3R1cmVd
LCBAImNwdVR5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2Nh
bGl6YXRpb24uZ2V0KCksIEAibG9jYWxpemF0aW9uIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKE5TU3RyaW5nICopbG9jYWxpemF0aW9uLmdldCgpLCBAImxvY2FsaXph
dGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbF07CiAKICAg
ICBOU0RhdGEgKmRhdGEgPSBbTlNQcm9wZXJ0eUxpc3RTZXJpYWxpemF0aW9uIGRhdGFGcm9tUHJv
cGVydHlMaXN0OmxhdW5jaFByb3BlcnRpZXMgZm9ybWF0Ok5TUHJvcGVydHlMaXN0QmluYXJ5Rm9y
bWF0X3YxXzAgZXJyb3JEZXNjcmlwdGlvbjowXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQppbmRleCAxNzAyMGU4Li43ZjdhNGM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9y
Q2xpZW50Lm1tCkBAIC0zNzgsOCArMzc4LDggQEAgRG9jdW1lbnRGcmFnbWVudCogV2ViRWRpdG9y
Q2xpZW50Ojpkb2N1bWVudEZyYWdtZW50RnJvbUF0dHJpYnV0ZWRTdHJpbmcoTlNBdHRyaWIKICAg
ICBzdGF0aWMgTlNBcnJheSAqZXhjbHVkZWRFbGVtZW50cyA9IGNyZWF0ZUV4Y2x1ZGVkRWxlbWVu
dHNGb3JBdHRyaWJ1dGVkU3RyaW5nQ29udmVyc2lvbigpOwogICAgIAogICAgIE5TRGljdGlvbmFy
eSAqZGljdGlvbmFyeSA9IFtbTlNEaWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aE9iamVjdHNBbmRL
ZXlzOiBleGNsdWRlZEVsZW1lbnRzLCBOU0V4Y2x1ZGVkRWxlbWVudHNEb2N1bWVudEF0dHJpYnV0
ZSwgCi0gICAgICAgIG5pbCwgQCJXZWJSZXNvdXJjZUhhbmRsZXIiLCBuaWxdOwotICAgIAorICAg
ICAgICBuaWxdOworCiAgICAgTlNBcnJheSAqc3ViUmVzb3VyY2VzOwogICAgIERPTURvY3VtZW50
RnJhZ21lbnQqIGZyYWdtZW50ID0gW3N0cmluZyBfZG9jdW1lbnRGcm9tUmFuZ2U6TlNNYWtlUmFu
Z2UoMCwgW3N0cmluZyBsZW5ndGhdKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQ6W1ttX3dlYlZpZXcgbWFpbkZyYW1lXSBET01E
b2N1bWVudF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4NWYxODk4Li4yMWVmNjczIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTMtMDctMTYgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxlLmNv
bT4KKworICAgICAgICBGaXggc29tZSBOU0RpY3Rpb25hcnkgbWlzdXNlIHBvaW50ZWQgb3V0IGJ5
IHRoZSBjbGFuZyBzdGF0aWMgYW5hbHl6ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExODczNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViRWRp
dG9yQ2xpZW50TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OmRvY3Vt
ZW50RnJhZ21lbnRGcm9tQXR0cmlidXRlZFN0cmluZyk6CisgICAgICAgIERvIG5vdCBwdXQgYSBr
ZXkgd2l0aCBhIG5pbCB2YWx1ZSBwYWlyIGludG8gdGhlIE5TRGljdGlvbmFyeS4KKwogMjAxMy0w
Ny0xNiAgTWljaGFlbCBCcsO8bmluZyAgPG1pY2hhZWwuYnJ1bmluZ0BkaWdpYS5jb20+CiAKICAg
ICAgICAgW1F0XSBSZXBsYWNlIE5va2lhIHdpdGggUXQgUHJvamVjdCBpbiBzZXJ2aWNlIG5hbWUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21h
Yy9XZWJFZGl0b3JDbGllbnRNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L21hYy9XZWJFZGl0b3JDbGllbnRNYWMubW0KaW5kZXggZTBiOGFjOC4uNmY3ZmM0
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9t
YWMvV2ViRWRpdG9yQ2xpZW50TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvbWFjL1dlYkVkaXRvckNsaWVudE1hYy5tbQpAQCAtMTExLDcgKzExMSw3
IEBAIERvY3VtZW50RnJhZ21lbnQqIFdlYkVkaXRvckNsaWVudDo6ZG9jdW1lbnRGcmFnbWVudEZy
b21BdHRyaWJ1dGVkU3RyaW5nKE5TQXR0cmliCiAgICAgc3RhdGljIE5TQXJyYXkgKmV4Y2x1ZGVk
RWxlbWVudHMgPSBjcmVhdGVFeGNsdWRlZEVsZW1lbnRzRm9yQXR0cmlidXRlZFN0cmluZ0NvbnZl
cnNpb24oKTsKICAgICAKICAgICBOU0RpY3Rpb25hcnkgKmRpY3Rpb25hcnkgPSBbW05TRGljdGlv
bmFyeSBhbGxvY10gaW5pdFdpdGhPYmplY3RzQW5kS2V5czogZXhjbHVkZWRFbGVtZW50cywKLSAg
ICAgICAgTlNFeGNsdWRlZEVsZW1lbnRzRG9jdW1lbnRBdHRyaWJ1dGUsIG5pbCwgQCJXZWJSZXNv
dXJjZUhhbmRsZXIiLCBuaWxdOworICAgICAgICBOU0V4Y2x1ZGVkRWxlbWVudHNEb2N1bWVudEF0
dHJpYnV0ZSwgbmlsXTsKICAgICAKICAgICBOU0FycmF5ICpzdWJSZXNvdXJjZXM7CiAgICAgRG9j
dW1lbnQqIGRvY3VtZW50ID0gbV9wYWdlLT5tYWluRnJhbWUoKSA/IG1fcGFnZS0+bWFpbkZyYW1l
KCktPmRvY3VtZW50KCkgOiAwOwotLSAKMS44LjIuMSAoQXBwbGUgR2l0LTQ1KQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>