Bug#766732: Caught in the act...
Brian Drummond
brian at shapes.demon.co.uk
Tue Nov 18 15:55:43 UTC 2014
On Tue, 2014-11-18 at 15:21 +0000, Simon McVittie wrote:
> Control: reassign 766732 gvfs-backends
>
> On 18/11/14 14:49, Brian Drummond wrote:
> > Backtrace from the relevant thread in gvfsd-dav...
>
> Reassigning to the package that owns gvfsd-dav.
OK.
> > ua = 0x0
> > ub = 0x7f5914054910 "/Music/Various Artists/"
>
> Looking at the source code, ua = g_uri_unescape_string (a, "/"). So that
> function has failed, returning NULL, and the code does not make any
> attempt to cope with that failure; so we call strlen(NULL) which crashes.
>
> a is "/Music/Various Artists/100% Dance Hits/" which is not a valid URI
> path: if your folder on disk is called "100% Dance Hits" then the URI
> should end with "/100%25 Dance Hits/".
> So there are probably two bugs here:
>
> * whatever software you are using to serve your music over DAV (what is
> it?) is encoding paths incorrectly; and
There's no actual music serving going on, just straight directory
access. All I did was right-click/Properties in Nautilus, having
selected the folder "Music" on the remote machine. (Copying the files
via Nautilus does the same, only slower)
Is '/home/brian/Music/Various Artists/100% Dance Hits' a legal path? If
so, what layer should encode it as an URI? I'm guessing also gvfsd-dav
(this time on the remote machine) in which case both bugs belong to
gvfs-backends.
Both ends run Debian Testing and I can reproduce the error from either
end.
> * gvfs isn't coping gracefully with that.
Worth making it more robust, I'd think.
At least knowing paths containing '%' are significant should make it
easy to reproduce.
Thanks for the analysis,
- Brian
More information about the pkg-gnome-maintainers
mailing list