summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Langdale <philipl@overt.org>2013-02-11 07:46:56 -0800
committerPhilip Langdale <philipl@overt.org>2013-02-11 07:49:51 -0800
commit828a5cd1db7a352820f4979095389fb4a24e728f (patch)
tree55afc386ac58f19de1c2aca3febbb4544644cdf4
parentf6066a4dbe35372959bae360615b3c36edd84186 (diff)
downloadgvfs-828a5cd1db7a352820f4979095389fb4a24e728f.tar.gz
MTP: Fix crash when libmtp operations fails without error message.
-rw-r--r--daemon/gvfsbackendmtp.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/daemon/gvfsbackendmtp.c b/daemon/gvfsbackendmtp.c
index efd19433..ba040287 100644
--- a/daemon/gvfsbackendmtp.c
+++ b/daemon/gvfsbackendmtp.c
@@ -280,14 +280,20 @@ emit_change_event (gpointer key,
static void
fail_job (GVfsJob *job, LIBMTP_mtpdevice_t *device)
{
+ const char *text;
LIBMTP_error_t *error = LIBMTP_Get_Errorstack (device);
+ if (error) {
+ text = g_strrstr (error->error_text, ":") + 1;
+ } else {
+ text = _("Unknown error.");
+ }
g_vfs_job_failed (job, G_IO_ERROR,
g_vfs_job_is_cancelled (job) ?
G_IO_ERROR_CANCELLED :
G_IO_ERROR_FAILED,
_("libmtp error: %s"),
- g_strrstr (error->error_text, ":") + 1);
+ text);
LIBMTP_Clear_Errorstack (device);
}