<?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>118354</bug_id>
          
          <creation_ts>2013-07-03 05:32:43 -0700</creation_ts>
          <short_desc>Output arguments used in IPC calls should be returned initialised</short_desc>
          <delta_ts>2013-07-03 09:13:27 -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>WebKit2</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="Simon Pena">spena</reporter>
          <assigned_to name="Simon Pena">spena</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>905832</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Pena">spena</who>
    <bug_when>2013-07-03 05:32:43 -0700</bug_when>
    <thetext>In bug #83683, an assertion was crashing because it was relying on certain values of two output arguments in an IPC call.

Various methods calling the function were initialising these output arguments before using them, but that&apos;s useless since they will later be simply declared as ReplyArguments and no assignment will happen that considers previous values (see HandleMessage.h). I did a grep within the source code with 

``egrep -rle &apos;Messages::[a-zA-Z]+::[a-zA-Z]+::Reply\([a-zA-Z]+&apos; Source/&apos;&apos;

which resulted in the following files.

Source/WebKit2/UIProcess/WebPageProxy.cpp
Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm
Source/WebKit2/WebProcess/Storage/StorageAreaMap.cpp
Source/WebKit2/WebProcess/NetworkInfo/WebNetworkInfoManager.cpp
Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp
Source/WebKit2/WebProcess/Plugins/PluginProxy.cpp
Source/WebKit2/WebProcess/Plugins/PluginView.cpp
Source/WebKit2/WebProcess/qt/QtNetworkAccessManager.cpp
Source/WebKit2/WebProcess/WebProcess.cpp
Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp
Source/WebKit2/WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp
Source/WebKit2/WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm
Source/WebKit2/WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp
Source/WebKit2/WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp
Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp
Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
Source/WebKit2/WebProcess/IconDatabase/WebIconDatabaseProxy.cpp
Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm
Source/WebKit2/WebProcess/WebPage/WebPage.cpp
Source/WebKit2/WebProcess/WebPage/WebInspector.cpp
Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp
Source/WebKit2/Shared/mac/CookieStorageShim.cpp
Source/WebKit2/Shared/Plugins/NPObjectProxy.cpp
Source/WebKit2/Shared/Downloads/Download.cpp
Source/WebKit2/PluginProcess/PluginControllerProxy.cpp
Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm

After the fix I proposed for the bug #83683, I think there was only one modification left coming from Source/WebKit2/Shared/Downloads/Download.cpp (patch coming now). I think all the other usages of ReplyArguments have these arguments properly initialised. (In some cases, even if no explicit assignment is done, these arguments are complex types, where their default constructors deal with a proper initialisation).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905846</commentid>
    <comment_count>1</comment_count>
      <attachid>205998</attachid>
    <who name="Simon Pena">spena</who>
    <bug_when>2013-07-03 06:19:51 -0700</bug_when>
    <thetext>Created attachment 205998
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905882</commentid>
    <comment_count>2</comment_count>
      <attachid>205998</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-03 09:13:24 -0700</bug_when>
    <thetext>Comment on attachment 205998
Patch

Clearing flags on attachment: 205998

Committed r152357: &lt;http://trac.webkit.org/changeset/152357&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905883</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-03 09:13:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205998</attachid>
            <date>2013-07-03 06:19:51 -0700</date>
            <delta_ts>2013-07-03 09:13:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118354-20130703141841.patch</filename>
            <type>text/plain</type>
            <size>2187</size>
            <attacher name="Simon Pena">spena</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMjkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTM5YTI5NjJjOGMzMjNl
Y2JiM2M4ZmUxYWQzYTJhMzUxMzdkYTAzYS4uNzdlZWE1Y2I3ZTMwOTRmOTNmYzFhOTM3NzIzNWQ0
YTU3NTJiMDJmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTA3LTAzICBTaW1v
biBQZW5hICA8c2ltb24ucGVuYUBzYW1zdW5nLmNvbT4KKworICAgICAgICBPdXRwdXQgYXJndW1l
bnRzIHVzZWQgaW4gSVBDIGNhbGxzIHNob3VsZCBiZSByZXR1cm5lZCBpbml0aWFsaXNlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4MzU0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBEb3dubG9h
ZDo6c2hvdWxkRGVjb2RlU291cmNlRGF0YU9mTUlNRVR5cGUgYW5kIERvd25sb2FkOjpyZXRyaWV2
ZURlc3RpbmF0aW9uV2l0aFN1Z2dlc3RlZEZpbGVuYW1lCisgICAgICAgIGNhbGwgRG93bmxvYWRQ
cm94eTo6c2hvdWxkRGVjb2RlU291cmNlRGF0YU9mTUlNRVR5cGUgYW5kIERvd25sb2FkUHJveHk6
OmRlY2lkZURlc3RpbmF0aW9uV2l0aFN1Z2dlc3RlZEZpbGVuYW1lCisgICAgICAgIHRocm91Z2gg
SVBDLCB0aGV5IGFzc3VtZSB0aGUgb3V0cHV0IGFyZ3VtZW50cyByZXN1bHQgYW5kIGFsbG93T3Zl
cndyaXRlIGhhdmUKKyAgICAgICAgYmVlbiBpbml0aWFsaXNlZC4KKworICAgICAgICBUaGlzIHBh
dGNoIGluaXRpYWxpc2VzIHRoZXNlIGFyZ3VtZW50cyBhbHNvIGluIHRoZSB1bmxpa2VseSBldmVu
dCB0aGF0IGEKKyAgICAgICAgbV93ZWJDb250ZXh0IGlzIG5vdCBhdmFpbGFibGUuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpEb3dubG9hZFByb3h5OjpzaG91bGREZWNvZGVTb3VyY2VEYXRhT2ZNSU1FVHlwZSk6Cisg
ICAgICAgIChXZWJLaXQ6OkRvd25sb2FkUHJveHk6OmRlY2lkZURlc3RpbmF0aW9uV2l0aFN1Z2dl
c3RlZEZpbGVuYW1lKToKKwogMjAxMy0wNy0wMSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFw
cGxlLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBwcml2YXRlIGJyb3dzaW5nIHNlc3Npb24gdHJh
Y2tpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93
bmxvYWRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25s
b2FkUHJveHkuY3BwCmluZGV4IDExOGVhZWM0MzU3MTVjNjUxYTIzODA0MjhjM2RjMjczNmFlMzI3
ZjYuLjEwNzBlYjY0ZGU2ZTA5OTM5OTE3Njg4YmEwZTA3MDAxMzJiZjIxYTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5LmNwcApA
QCAtMTM1LDYgKzEzNSw4IEBAIHZvaWQgRG93bmxvYWRQcm94eTo6ZGlkUmVjZWl2ZURhdGEodWlu
dDY0X3QgbGVuZ3RoKQogCiB2b2lkIERvd25sb2FkUHJveHk6OnNob3VsZERlY29kZVNvdXJjZURh
dGFPZk1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGJvb2wmIHJlc3VsdCkKIHsKKyAg
ICByZXN1bHQgPSBmYWxzZTsKKwogICAgIGlmICghbV93ZWJDb250ZXh0KQogICAgICAgICByZXR1
cm47CiAKQEAgLTE0Myw2ICsxNDUsOCBAQCB2b2lkIERvd25sb2FkUHJveHk6OnNob3VsZERlY29k
ZVNvdXJjZURhdGFPZk1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGJvbwogCiB2b2lk
IERvd25sb2FkUHJveHk6OmRlY2lkZURlc3RpbmF0aW9uV2l0aFN1Z2dlc3RlZEZpbGVuYW1lKGNv
bnN0IFN0cmluZyYgZmlsZW5hbWUsIFN0cmluZyYgZGVzdGluYXRpb24sIGJvb2wmIGFsbG93T3Zl
cndyaXRlLCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbmRib3hFeHRlbnNpb25IYW5kbGUp
CiB7CisgICAgYWxsb3dPdmVyd3JpdGUgPSBmYWxzZTsKKwogICAgIGlmICghbV93ZWJDb250ZXh0
KQogICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>