[Webkit-unassigned] [Bug 183346] [GTK] NetworkProcess from WebKitGtk+ 2.19.9x SIGSEVs in NetworkStorageSession (secret search callback)

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Apr 2 08:25:37 PDT 2018


https://bugs.webkit.org/show_bug.cgi?id=183346

--- Comment #24 from Carlos Garcia Campos <cgarcia at igalia.com> ---
(In reply to Michael Catanzaro from comment #23)
> Comment on attachment 336974 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=336974&action=review
> 
> The Fedora bug report is not for a Flatpak.
> 
> > Source/WebCore/ChangeLog:8
> > +        This might happen if a request is cancelled right after the password request starts and before it finishes. We
> 
> Aha!
> 
> > Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp:240
> > +            g_list_foreach(elements.get(), reinterpret_cast<GFunc>(g_object_unref), nullptr);
> 
> It took me a while to convince myself that there was no leak in the early
> return up above. GUniquePtr<GList> is similar to the WlUniquePtr<wl_display>
> case, in that we really need more flexibility in choosing the deleter func
> to use. I wonder if it would be possible to make a syntax like
> GUniquePtr<GList, g_object_unref> do the right thing.

It's not the same, in the case of WlUniquePtr<wl_display> there are two api calls to release a wl_display depending on whether it's a client or server connection. Here, GUniquePtr<GList> always frees *only* the container. We could add a way to also release the contents, but I don't know if it's easy to add since GUniquePtr is a template alias of std::unique_ptr nowadays.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20180402/cb31ee8a/attachment-0002.html>


More information about the webkit-unassigned mailing list