WebKit Bugzilla
Attachment 373625 Details for
Bug 199572
: REGRESSION(r246671): [WPE][GTK] Crash in NetworkProcess since the DNS cache landed
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-199572-20190708180111.patch (text/plain), 3.81 KB, created by
Claudio Saavedra
on 2019-07-08 08:01:12 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Claudio Saavedra
Created:
2019-07-08 08:01:12 PDT
Size:
3.81 KB
patch
obsolete
>Subversion Revision: 247203 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 7d656e04592e17f45ad1cd0ba5a5bddde19fc439..3e964e3d62e6c41b27f25384bef38ae0e371a591 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,16 @@ >+2019-07-08 Claudio Saavedra <csaavedra@igalia.com> >+ >+ REGRESSION(r246671): [WPE][GTK] Crash in NetworkProcess since the DNS cache landed >+ https://bugs.webkit.org/show_bug.cgi?id=199572 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ The GError coming from the wrapped resolver shouldn't be freed, >+ but passed onto the caller. >+ * NetworkProcess/glib/WebKitCachedResolver.cpp: >+ (webkitCachedResolverLookupByNameAsync): >+ (webkitCachedResolverLookupByNameWithFlagsAsync): >+ > 2019-07-08 Michael Catanzaro <mcatanzaro@igalia.com> > > [GTK] ViewGestureController constructor leaves m_direction uninitialized >diff --git a/Source/WebKit/NetworkProcess/glib/WebKitCachedResolver.cpp b/Source/WebKit/NetworkProcess/glib/WebKitCachedResolver.cpp >index c544b65906252afbefa70be0d7fd6bcb55a092e8..7ce8323689b730b64db83de4dce0fe6a07e13cb2 100644 >--- a/Source/WebKit/NetworkProcess/glib/WebKitCachedResolver.cpp >+++ b/Source/WebKit/NetworkProcess/glib/WebKitCachedResolver.cpp >@@ -101,14 +101,14 @@ static void webkitCachedResolverLookupByNameAsync(GResolver* resolver, const cha > g_task_set_task_data(task.get(), asyncData, reinterpret_cast<GDestroyNotify>(destroyLookupAsyncData)); > g_resolver_lookup_by_name_async(priv->wrappedResolver.get(), hostname, cancellable, [](GObject* resolver, GAsyncResult* result, gpointer userData) { > GRefPtr<GTask> task = adoptGRef(G_TASK(userData)); >- GUniqueOutPtr<GError> error; >- if (auto* addressList = g_resolver_lookup_by_name_finish(G_RESOLVER(resolver), result, &error.outPtr())) { >+ GError* error = nullptr; >+ if (auto* addressList = g_resolver_lookup_by_name_finish(G_RESOLVER(resolver), result, &error)) { > auto* priv = WEBKIT_CACHED_RESOLVER(g_task_get_source_object(task.get()))->priv; > auto* asyncData = static_cast<LookupAsyncData*>(g_task_get_task_data(task.get())); > priv->cache.update(asyncData->hostname, addressListGListToVector(addressList)); > g_task_return_pointer(task.get(), addressList, reinterpret_cast<GDestroyNotify>(g_resolver_free_addresses)); > } else >- g_task_return_error(task.get(), error.get()); >+ g_task_return_error(task.get(), error); > }, task.leakRef()); > } > >@@ -163,14 +163,14 @@ static void webkitCachedResolverLookupByNameWithFlagsAsync(GResolver* resolver, > g_task_set_task_data(task.get(), asyncData, reinterpret_cast<GDestroyNotify>(destroyLookupAsyncData)); > g_resolver_lookup_by_name_with_flags_async(priv->wrappedResolver.get(), hostname, flags, cancellable, [](GObject* resolver, GAsyncResult* result, gpointer userData) { > GRefPtr<GTask> task = adoptGRef(G_TASK(userData)); >- GUniqueOutPtr<GError> error; >- if (auto* addressList = g_resolver_lookup_by_name_with_flags_finish(G_RESOLVER(resolver), result, &error.outPtr())) { >+ GError* error; >+ if (auto* addressList = g_resolver_lookup_by_name_with_flags_finish(G_RESOLVER(resolver), result, &error)) { > auto* priv = WEBKIT_CACHED_RESOLVER(g_task_get_source_object(task.get()))->priv; > auto* asyncData = static_cast<LookupAsyncData*>(g_task_get_task_data(task.get())); > priv->cache.update(asyncData->hostname, addressListGListToVector(addressList), asyncData->dnsCacheType); > g_task_return_pointer(task.get(), addressList, reinterpret_cast<GDestroyNotify>(g_resolver_free_addresses)); > } else >- g_task_return_error(task.get(), error.get()); >+ g_task_return_error(task.get(), error); > }, task.leakRef()); > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 199572
:
373625
|
373629
|
373631