<?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>41447</bug_id>
          
          <creation_ts>2010-07-01 00:21:19 -0700</creation_ts>
          <short_desc>[GTK] Extra nullcheck needed at SelectionControllerGtk.cpp</short_desc>
          <delta_ts>2010-07-01 03:50:51 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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="Mario Sanchez Prada">mario</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>245152</commentid>
    <comment_count>0</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-07-01 00:21:19 -0700</bug_when>
    <thetext>In SelectionController::notifyAccessibilityForSelectionChange(), inside SelectionControllerGtk.cpp, we currently have this:

   [...]
   AccessibilityObject* accessibilityObject = m_frame-&gt;document()-&gt;axObjectCache()-&gt;getOrCreate(focusedNode);
   int offset;

   // Always report the events w.r.t. the non-linked unignored parent. (i.e. ignoreLinks == true)
   AccessibilityObject* object = objectAndOffsetUnignored(accessibilityObject, offset, true);
   [...]

The problem with this is that, as getOrCreate() could return 0 under some dark circunstances, we&apos;re risking here calling to objectAndOffsetUnignored() with null as first parameter, which will crash for sure as that function won&apos;t check that (that&apos;s a common assumption in AccessibilityObjectWrapperAtk.cpp).

Hence, an extra null check is needed. Attaching one-liner patch soon...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245166</commentid>
    <comment_count>1</comment_count>
      <attachid>60209</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-07-01 00:46:21 -0700</bug_when>
    <thetext>Created attachment 60209
Patch proposal

Attached patch for this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245179</commentid>
    <comment_count>2</comment_count>
      <attachid>60209</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-07-01 01:06:49 -0700</bug_when>
    <thetext>Comment on attachment 60209
Patch proposal

I think doing:

if (!accessibilityObject)
    return;

is much better.

Also, we should look into why a NULL object is being created in the first place...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245183</commentid>
    <comment_count>3</comment_count>
      <attachid>60213</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-07-01 01:10:20 -0700</bug_when>
    <thetext>Created attachment 60213
Patch proposal

(In reply to comment #2)
&gt; (From update of attachment 60209 [details])
&gt; I think doing:
&gt; 
&gt; if (!accessibilityObject)
&gt;     return;
&gt; 
&gt; is much better.

Done.

&gt; Also, we should look into why a NULL object is being created in the first place...

Agree, and I have the feeling is related to the rendering object not being created by that time, although that would be quite weir and would be indeed another bug for sure... In any case I think this null check doesn&apos;t hurt either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245246</commentid>
    <comment_count>4</comment_count>
      <attachid>60213</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-01 03:50:47 -0700</bug_when>
    <thetext>Comment on attachment 60213
Patch proposal

Clearing flags on attachment: 60213

Committed r62248: &lt;http://trac.webkit.org/changeset/62248&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245247</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-01 03:50:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60209</attachid>
            <date>2010-07-01 00:46:21 -0700</date>
            <delta_ts>2010-07-01 01:10:20 -0700</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0001-2010-07-01-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>3200</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSAyNjZiNTUyZGU1ZWRlMzk3ZTk5Y2E2YWIxMmZiYTE4MTM1NWNlYTc1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBUaHUsIDEgSnVsIDIwMTAgMDk6Mjg6NTggKzAyMDAKU3ViamVjdDogW1BBVENI
XSAyMDEwLTA3LTAxICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4K
CiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFtHVEtdIEV4dHJh
IG51bGxjaGVjayBuZWVkZWQgYXQgU2VsZWN0aW9uQ29udHJvbGxlckd0ay5jcHAKICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE0NDcKCiAgICAgICAgRXh0
cmEgbnVsbCBjaGVjayBhZGRlZC4KCiAgICAgICAgKiBlZGl0aW5nL2d0ay9TZWxlY3Rpb25Db250
cm9sbGVyR3RrLmNwcDoKICAgICAgICAoV2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6bm90
aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSk6Ci0tLQogV2ViQ29yZS9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTIgKysrKysrKysrKysrCiBXZWJD
b3JlL2VkaXRpbmcvZ3RrL1NlbGVjdGlvbkNvbnRyb2xsZXJHdGsuY3BwIHwgICAyMSArKysrKysr
KysrKysrLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgOCBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDcxNTAxNzAuLmIyMzg3ZDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDctMDEgIE1h
cmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtdIEV4dHJhIG51bGxjaGVjayBu
ZWVkZWQgYXQgU2VsZWN0aW9uQ29udHJvbGxlckd0ay5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNDQ3CisKKyAgICAgICAgRXh0cmEgbnVsbCBj
aGVjayBhZGRlZC4KKworICAgICAgICAqIGVkaXRpbmcvZ3RrL1NlbGVjdGlvbkNvbnRyb2xsZXJH
dGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6bm90aWZ5QWNj
ZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSk6CisKIDIwMTAtMDYtMjkgIEFiaGluYXYgTWl0
aGFsIDxhYmhpbmF2Lm1pdGhhbEBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTGFz
emxvIEdvbWJvcy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9ndGsvU2VsZWN0aW9uQ29u
dHJvbGxlckd0ay5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvZ3RrL1NlbGVjdGlvbkNvbnRyb2xsZXJH
dGsuY3BwCmluZGV4IDZhMzI1OGEuLjZlZDE0YmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGlu
Zy9ndGsvU2VsZWN0aW9uQ29udHJvbGxlckd0ay5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL2d0
ay9TZWxlY3Rpb25Db250cm9sbGVyR3RrLmNwcApAQCAtMzMsMTQgKzMzLDE5IEBAIHZvaWQgU2Vs
ZWN0aW9uQ29udHJvbGxlcjo6bm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSgp
CiAgICAgaWYgKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkgJiYgbV9zZWxl
Y3Rpb24uc3RhcnQoKS5pc05vdE51bGwoKSAmJiBtX3NlbGVjdGlvbi5lbmQoKS5pc05vdE51bGwo
KSkgewogICAgICAgICBSZW5kZXJPYmplY3QqIGZvY3VzZWROb2RlID0gbV9zZWxlY3Rpb24uZW5k
KCkubm9kZSgpLT5yZW5kZXJlcigpOwogICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBhY2Nl
c3NpYmlsaXR5T2JqZWN0ID0gbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5n
ZXRPckNyZWF0ZShmb2N1c2VkTm9kZSk7Ci0gICAgICAgIGludCBvZmZzZXQ7Ci0gICAgICAgIC8v
IEFsd2F5cyByZXBvcnQgdGhlIGV2ZW50cyB3LnIudC4gdGhlIG5vbi1saW5rZWQgdW5pZ25vcmVk
IHBhcmVudC4gKGkuZS4gaWdub3JlTGlua3MgPT0gdHJ1ZSkKLSAgICAgICAgQWNjZXNzaWJpbGl0
eU9iamVjdCogb2JqZWN0ID0gb2JqZWN0QW5kT2Zmc2V0VW5pZ25vcmVkKGFjY2Vzc2liaWxpdHlP
YmplY3QsIG9mZnNldCwgdHJ1ZSk7Ci0gICAgICAgIEF0a09iamVjdCogd3JhcHBlciA9IG9iamVj
dC0+d3JhcHBlcigpOwotICAgICAgICBpZiAoQVRLX0lTX1RFWFQod3JhcHBlcikpIHsKLSAgICAg
ICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3cmFwcGVyLCAidGV4dC1jYXJldC1tb3ZlZCIs
IG9mZnNldCk7Ci0gICAgICAgICAgICBpZiAobV9zZWxlY3Rpb24uaXNSYW5nZSgpKQotICAgICAg
ICAgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3cmFwcGVyLCAidGV4dC1zZWxlY3Rpb24t
Y2hhbmdlZCIpOworCisgICAgICAgIC8vIG5lZWQgdG8gY2hlY2sgdGhpcyBhcyBnZXRPckNyZWF0
ZSBjb3VsZCByZXR1cm4gMAorICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eU9iamVjdCkgeworICAg
ICAgICAgICAgaW50IG9mZnNldDsKKworICAgICAgICAgICAgLy8gQWx3YXlzIHJlcG9ydCB0aGUg
ZXZlbnRzIHcuci50LiB0aGUgbm9uLWxpbmtlZCB1bmlnbm9yZWQgcGFyZW50LiAoaS5lLiBpZ25v
cmVMaW5rcyA9PSB0cnVlKQorICAgICAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0
ID0gb2JqZWN0QW5kT2Zmc2V0VW5pZ25vcmVkKGFjY2Vzc2liaWxpdHlPYmplY3QsIG9mZnNldCwg
dHJ1ZSk7CisgICAgICAgICAgICBBdGtPYmplY3QqIHdyYXBwZXIgPSBvYmplY3QtPndyYXBwZXIo
KTsKKyAgICAgICAgICAgIGlmIChBVEtfSVNfVEVYVCh3cmFwcGVyKSkgeworICAgICAgICAgICAg
ICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3cmFwcGVyLCAidGV4dC1jYXJldC1tb3ZlZCIsIG9m
ZnNldCk7CisgICAgICAgICAgICAgICAgaWYgKG1fc2VsZWN0aW9uLmlzUmFuZ2UoKSkKKyAgICAg
ICAgICAgICAgICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKHdyYXBwZXIsICJ0ZXh0LXNlbGVj
dGlvbi1jaGFuZ2VkIik7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiB9Ci0tIAox
LjcuMC40Cgo=
</data>
<flag name="review"
          id="47563"
          type_id="1"
          status="-"
          setter="xan.lopez"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60213</attachid>
            <date>2010-07-01 01:10:20 -0700</date>
            <delta_ts>2010-07-01 03:50:47 -0700</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0001-2010-07-01-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>2362</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSAyOTc2ZTM3OTM0Y2NmZDcyYjI2NzYwZjU1NGM5YWMyZTlhY2QwYWVkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBUaHUsIDEgSnVsIDIwMTAgMDk6Mjg6NTggKzAyMDAKU3ViamVjdDogW1BBVENI
XSAyMDEwLTA3LTAxICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4K
CiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFtHVEtdIEV4dHJh
IG51bGxjaGVjayBuZWVkZWQgYXQgU2VsZWN0aW9uQ29udHJvbGxlckd0ay5jcHAKICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE0NDcKCiAgICAgICAgRXh0
cmEgbnVsbCBjaGVjayBhZGRlZC4KCiAgICAgICAgKiBlZGl0aW5nL2d0ay9TZWxlY3Rpb25Db250
cm9sbGVyR3RrLmNwcDoKICAgICAgICAoV2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6bm90
aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSk6Ci0tLQogV2ViQ29yZS9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTIgKysrKysrKysrKysrCiBXZWJD
b3JlL2VkaXRpbmcvZ3RrL1NlbGVjdGlvbkNvbnRyb2xsZXJHdGsuY3BwIHwgICAgNSArKysrKwog
MiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzE1MDE3
MC4uYjIzODdkNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wNy0wMSAgTWFyaW8gU2FuY2hleiBQcmFk
YSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW0dUS10gRXh0cmEgbnVsbGNoZWNrIG5lZWRlZCBhdCBTZWxlY3Rp
b25Db250cm9sbGVyR3RrLmNwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDE0NDcKKworICAgICAgICBFeHRyYSBudWxsIGNoZWNrIGFkZGVkLgorCisg
ICAgICAgICogZWRpdGluZy9ndGsvU2VsZWN0aW9uQ29udHJvbGxlckd0ay5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZWxlY3Rpb25Db250cm9sbGVyOjpub3RpZnlBY2Nlc3NpYmlsaXR5Rm9yU2Vs
ZWN0aW9uQ2hhbmdlKToKKwogMjAxMC0wNi0yOSAgQWJoaW5hdiBNaXRoYWwgPGFiaGluYXYubWl0
aGFsQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9zLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL2d0ay9TZWxlY3Rpb25Db250cm9sbGVyR3RrLmNwcCBi
L1dlYkNvcmUvZWRpdGluZy9ndGsvU2VsZWN0aW9uQ29udHJvbGxlckd0ay5jcHAKaW5kZXggNmEz
MjU4YS4uOWQ1MmMxYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL2d0ay9TZWxlY3Rpb25D
b250cm9sbGVyR3RrLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvZ3RrL1NlbGVjdGlvbkNvbnRy
b2xsZXJHdGsuY3BwCkBAIC0zMyw2ICszMywxMSBAQCB2b2lkIFNlbGVjdGlvbkNvbnRyb2xsZXI6
Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoKQogICAgIGlmIChBWE9iamVj
dENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpICYmIG1fc2VsZWN0aW9uLnN0YXJ0KCkuaXNO
b3ROdWxsKCkgJiYgbV9zZWxlY3Rpb24uZW5kKCkuaXNOb3ROdWxsKCkpIHsKICAgICAgICAgUmVu
ZGVyT2JqZWN0KiBmb2N1c2VkTm9kZSA9IG1fc2VsZWN0aW9uLmVuZCgpLm5vZGUoKS0+cmVuZGVy
ZXIoKTsKICAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogYWNjZXNzaWJpbGl0eU9iamVjdCA9
IG1fZnJhbWUtPmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUoZm9jdXNl
ZE5vZGUpOworCisgICAgICAgIC8vIG5lZWQgdG8gY2hlY2sgdGhpcyBhcyBnZXRPckNyZWF0ZSBj
b3VsZCByZXR1cm4gMAorICAgICAgICBpZiAoIWFjY2Vzc2liaWxpdHlPYmplY3QpCisgICAgICAg
ICAgICByZXR1cm47CisKICAgICAgICAgaW50IG9mZnNldDsKICAgICAgICAgLy8gQWx3YXlzIHJl
cG9ydCB0aGUgZXZlbnRzIHcuci50LiB0aGUgbm9uLWxpbmtlZCB1bmlnbm9yZWQgcGFyZW50LiAo
aS5lLiBpZ25vcmVMaW5rcyA9PSB0cnVlKQogICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBv
YmplY3QgPSBvYmplY3RBbmRPZmZzZXRVbmlnbm9yZWQoYWNjZXNzaWJpbGl0eU9iamVjdCwgb2Zm
c2V0LCB0cnVlKTsKLS0gCjEuNy4wLjQKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>