Bug 44683 - [GTK] [PATCH] plugin loading invalid symlink evaluation deadlock
Summary: [GTK] [PATCH] plugin loading invalid symlink evaluation deadlock
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: All Linux
: P2 Critical
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-26 06:49 PDT by Stanislav Brabec
Modified: 2010-08-26 14:34 PDT (History)
1 user (show)

See Also:


Attachments
libwebkit-plugins-gtk-load.patch (892 bytes, patch)
2010-08-26 06:49 PDT, Stanislav Brabec
no flags Details | Formatted Diff | Diff
Patch with ChangeLog (1.63 KB, patch)
2010-08-26 14:25 PDT, Martin Robinson
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stanislav Brabec 2010-08-26 06:49:57 PDT
Created attachment 65554 [details]
libwebkit-plugins-gtk-load.patch

PluginPackageGtk.cpp:PluginPackage::load() evaluates symlinks in a way that never worked: https://bugzilla.gnome.org/show_bug.cgi?id=627491

Attached patch fixes deadlock that happens if the plugin symlink points to ../something.

For example:

In openSUSE 11.3, plugindir is /usr/lib64/browser-plugins. opensc-signer.so is a link to ../opensc-signer.so. The result of current symlink resolving is /usr/lib64/browser-plugins/opensc-signer.so. Dead loop happens.
Comment 1 Martin Robinson 2010-08-26 14:25:42 PDT
Created attachment 65617 [details]
Patch with ChangeLog
Comment 2 Martin Robinson 2010-08-26 14:31:36 PDT
Comment on attachment 65617 [details]
Patch with ChangeLog

I've reposted Stanislav's patch with a ChangeLog. This fix looks good to me.
Comment 3 Martin Robinson 2010-08-26 14:34:12 PDT
Comment on attachment 65617 [details]
Patch with ChangeLog

Clearing flags on attachment: 65617

Committed r66138: <http://trac.webkit.org/changeset/66138>
Comment 4 Martin Robinson 2010-08-26 14:34:16 PDT
All reviewed patches have been landed.  Closing bug.