<?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>119231</bug_id>
          
          <creation_ts>2013-07-29 17:04:35 -0700</creation_ts>
          <short_desc>Null deref under PluginView::handlesPageScaleFactor()</short_desc>
          <delta_ts>2013-07-30 12:37:57 -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>Plug-ins</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>912630</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-29 17:04:35 -0700</bug_when>
    <thetext>PluginView::handlesPageScaleFactor() doesn&apos;t null-check m_plugin, but it should. It should check isInitialized as well!

&lt;rdar://problem/14440207&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912632</commentid>
    <comment_count>1</comment_count>
      <attachid>207681</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-29 17:07:21 -0700</bug_when>
    <thetext>Created attachment 207681
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912637</commentid>
    <comment_count>2</comment_count>
      <attachid>207681</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-07-29 17:15:30 -0700</bug_when>
    <thetext>Comment on attachment 207681
patch

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

&gt; Source/WebKit2/WebProcess/Plugins/PluginView.h:90
&gt; +    bool handlesPageScaleFactor();

Can this be const?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912638</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-29 17:19:05 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 207681 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207681&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/Plugins/PluginView.h:90
&gt; &gt; +    bool handlesPageScaleFactor();
&gt; 
&gt; Can this be const?

Yep. pageScaleFactor() too!

Thanks!

http://trac.webkit.org/changeset/153449</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912668</commentid>
    <comment_count>4</comment_count>
      <attachid>207686</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-29 22:11:46 -0700</bug_when>
    <thetext>Created attachment 207686
another potential null</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912674</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-29 22:35:50 -0700</bug_when>
    <thetext>Reopened for one more patch (so many things can be null).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912675</commentid>
    <comment_count>6</comment_count>
      <attachid>207689</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-29 22:36:19 -0700</bug_when>
    <thetext>Created attachment 207689
try to make ews go</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912979</commentid>
    <comment_count>7</comment_count>
      <attachid>207689</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-07-30 12:26:41 -0700</bug_when>
    <thetext>Comment on attachment 207689
try to make ews go

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

&gt; Source/WebKit2/WebProcess/WebPage/WebFrame.cpp:490
&gt;      PluginDocument* pluginDocument = static_cast&lt;PluginDocument*&gt;(m_coreFrame-&gt;document());
&gt; -    PluginView* pluginView = static_cast&lt;PluginView*&gt;(pluginDocument-&gt;pluginWidget());
&gt; +    if (PluginView* pluginView = static_cast&lt;PluginView*&gt;(pluginDocument-&gt;pluginWidget()))
&gt; +        return pluginView-&gt;handlesPageScaleFactor();
&gt;  
&gt; -    return pluginView-&gt;handlesPageScaleFactor();
&gt; +    return 0;

I prefer early return to nesting the main line code in the if. Or using &amp;&amp;.

    return pluginView &amp;&amp; pluginView-&gt;handlesPageScaleFactor();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912987</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-30 12:37:57 -0700</bug_when>
    <thetext>Thanks, Darin. I went with &amp;&amp;.

http://trac.webkit.org/changeset/153486</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207681</attachid>
            <date>2013-07-29 17:07:21 -0700</date>
            <delta_ts>2013-07-29 22:11:46 -0700</delta_ts>
            <desc>patch</desc>
            <filename>null.diff</filename>
            <type>text/plain</type>
            <size>1876</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA2ZGZjNWNiLi44ZDVjZjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTMtMDctMjkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgTnVsbCBkZXJlZiB1bmRlciBQbHVnaW5WaWV3OjpoYW5kbGVzUGFnZVNjYWxlRmFj
dG9yKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
OTIzMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTQ0NDAyMDc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6OmhhbmRsZXNQYWdlU2Nh
bGVGYWN0b3IpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3Lmg6Cisg
ICAgICAgIE51bGwtY2hlY2sgbV9wbHVnaW4gYW5kIGNoZWNrIG1faXNJbml0aWFsaXplZC4KKwog
MjAxMy0wNy0yOSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSBzZXRVbmRlcmxheVBhZ2UoKSBhbmQgYXNzb2NpYXRlZCBjb2RlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggZDM0
MzI2Yi4uZTIwZGIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5WaWV3LmNwcApAQCAtNDY4LDYgKzQ2OCwxNCBAQCBkb3VibGUgUGx1Z2luVmlldzo6
cGFnZVNjYWxlRmFjdG9yKCkKICAgICByZXR1cm4gbV9wYWdlU2NhbGVGYWN0b3I7CiB9CiAKK2Jv
b2wgUGx1Z2luVmlldzo6aGFuZGxlc1BhZ2VTY2FsZUZhY3RvcigpCit7CisgICAgaWYgKCFtX3Bs
dWdpbiB8fCAhbV9pc0luaXRpYWxpemVkKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBy
ZXR1cm4gbV9wbHVnaW4tPmhhbmRsZXNQYWdlU2NhbGVGYWN0b3IoKTsKK30KKwogdm9pZCBQbHVn
aW5WaWV3Ojp3ZWJQYWdlRGVzdHJveWVkKCkKIHsKICAgICBtX3dlYlBhZ2UgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmgKaW5kZXggOWRkNTNi
NS4uYjY0ZDYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luVmlldy5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKICAgICAKICAgICB2b2lkIHNldFBh
Z2VTY2FsZUZhY3Rvcihkb3VibGUgc2NhbGVGYWN0b3IsIFdlYkNvcmU6OkludFBvaW50IG9yaWdp
bik7CiAgICAgZG91YmxlIHBhZ2VTY2FsZUZhY3RvcigpOwotICAgIGJvb2wgaGFuZGxlc1BhZ2VT
Y2FsZUZhY3RvcigpIHsgcmV0dXJuIG1fcGx1Z2luLT5oYW5kbGVzUGFnZVNjYWxlRmFjdG9yKCk7
IH0KKyAgICBib29sIGhhbmRsZXNQYWdlU2NhbGVGYWN0b3IoKTsKIAogICAgIHZvaWQgcGFnZVNj
YWxlRmFjdG9yRGlkQ2hhbmdlKCk7CiAgICAgdm9pZCB3ZWJQYWdlRGVzdHJveWVkKCk7Cg==
</data>
<flag name="review"
          id="229479"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207686</attachid>
            <date>2013-07-29 22:11:46 -0700</date>
            <delta_ts>2013-07-29 22:36:19 -0700</delta_ts>
            <desc>another potential null</desc>
            <filename>null2.diff</filename>
            <type>text/plain</type>
            <size>1533</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzMDU0YmFhLi42YTY2Mzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC00LDYgKzQsMTkg
QEAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTIz
MQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTQ0NDAyMDc+CiAKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTnVsbC1jaGVjayB0aGUgUGx1Z2luVmlldyBp
biB0aGUgY2FsbGVyIGFzIHdlbGwuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
RnJhbWUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZTo6aGFuZGxlc1BhZ2VTY2FsZUdl
c3R1cmUpOgorCisyMDEzLTA3LTI5ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIE51bGwgZGVyZWYgdW5kZXIgUGx1Z2luVmlldzo6aGFuZGxlc1BhZ2VT
Y2FsZUZhY3RvcigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTkyMzEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE0NDQwMjA3PgorCiAgICAgICAg
IFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KIAogICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5WaWV3LmNwcDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViRnJhbWUuY3BwCmluZGV4IDlhOTQ4ZjYuLjIzODZjMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcApAQCAtNDg0LDkgKzQ4NCwxMCBAQCBi
b29sIFdlYkZyYW1lOjpoYW5kbGVzUGFnZVNjYWxlR2VzdHVyZSgpIGNvbnN0CiAgICAgICAgIHJl
dHVybiAwOwogCiAgICAgUGx1Z2luRG9jdW1lbnQqIHBsdWdpbkRvY3VtZW50ID0gc3RhdGljX2Nh
c3Q8UGx1Z2luRG9jdW1lbnQqPihtX2NvcmVGcmFtZS0+ZG9jdW1lbnQoKSk7Ci0gICAgUGx1Z2lu
VmlldyogcGx1Z2luVmlldyA9IHN0YXRpY19jYXN0PFBsdWdpblZpZXcqPihwbHVnaW5Eb2N1bWVu
dC0+cGx1Z2luV2lkZ2V0KCkpOworICAgIGlmIChQbHVnaW5WaWV3KiBwbHVnaW5WaWV3ID0gc3Rh
dGljX2Nhc3Q8UGx1Z2luVmlldyo+KHBsdWdpbkRvY3VtZW50LT5wbHVnaW5XaWRnZXQoKSkpCisg
ICAgICAgIHJldHVybiBwbHVnaW5WaWV3LT5oYW5kbGVzUGFnZVNjYWxlRmFjdG9yKCk7CiAKLSAg
ICByZXR1cm4gcGx1Z2luVmlldy0+aGFuZGxlc1BhZ2VTY2FsZUZhY3RvcigpOworICAgIHJldHVy
biAwOwogfQogCiBJbnRSZWN0IFdlYkZyYW1lOjpjb250ZW50Qm91bmRzKCkgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207689</attachid>
            <date>2013-07-29 22:36:19 -0700</date>
            <delta_ts>2013-07-30 12:26:41 -0700</delta_ts>
            <desc>try to make ews go</desc>
            <filename>null2.diff</filename>
            <type>text/plain</type>
            <size>1533</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzMDU0YmFhLi42YTY2Mzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC00LDYgKzQsMTkg
QEAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTIz
MQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTQ0NDAyMDc+CiAKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTnVsbC1jaGVjayB0aGUgUGx1Z2luVmlldyBp
biB0aGUgY2FsbGVyIGFzIHdlbGwuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
RnJhbWUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZTo6aGFuZGxlc1BhZ2VTY2FsZUdl
c3R1cmUpOgorCisyMDEzLTA3LTI5ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIE51bGwgZGVyZWYgdW5kZXIgUGx1Z2luVmlldzo6aGFuZGxlc1BhZ2VT
Y2FsZUZhY3RvcigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTkyMzEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE0NDQwMjA3PgorCiAgICAgICAg
IFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KIAogICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5WaWV3LmNwcDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViRnJhbWUuY3BwCmluZGV4IDlhOTQ4ZjYuLjIzODZjMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcApAQCAtNDg0LDkgKzQ4NCwxMCBAQCBi
b29sIFdlYkZyYW1lOjpoYW5kbGVzUGFnZVNjYWxlR2VzdHVyZSgpIGNvbnN0CiAgICAgICAgIHJl
dHVybiAwOwogCiAgICAgUGx1Z2luRG9jdW1lbnQqIHBsdWdpbkRvY3VtZW50ID0gc3RhdGljX2Nh
c3Q8UGx1Z2luRG9jdW1lbnQqPihtX2NvcmVGcmFtZS0+ZG9jdW1lbnQoKSk7Ci0gICAgUGx1Z2lu
VmlldyogcGx1Z2luVmlldyA9IHN0YXRpY19jYXN0PFBsdWdpblZpZXcqPihwbHVnaW5Eb2N1bWVu
dC0+cGx1Z2luV2lkZ2V0KCkpOworICAgIGlmIChQbHVnaW5WaWV3KiBwbHVnaW5WaWV3ID0gc3Rh
dGljX2Nhc3Q8UGx1Z2luVmlldyo+KHBsdWdpbkRvY3VtZW50LT5wbHVnaW5XaWRnZXQoKSkpCisg
ICAgICAgIHJldHVybiBwbHVnaW5WaWV3LT5oYW5kbGVzUGFnZVNjYWxlRmFjdG9yKCk7CiAKLSAg
ICByZXR1cm4gcGx1Z2luVmlldy0+aGFuZGxlc1BhZ2VTY2FsZUZhY3RvcigpOworICAgIHJldHVy
biAwOwogfQogCiBJbnRSZWN0IFdlYkZyYW1lOjpjb250ZW50Qm91bmRzKCkgY29uc3QK
</data>
<flag name="review"
          id="229493"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>