From 27ef7d15a3f408df2ed583dadbc5b0dadb27f522 Mon Sep 17 00:00:00 2001 From: Philippe De Swert Date: Mon, 6 Jun 2011 16:26:27 +0300 Subject: [PATCH] Fix small gconf memory leak & small updates to version 0.41. Signed-off-by: Philippe De Swert --- configure.ac | 2 +- debian/changelog | 13 +++++++++++++ src/usb_moded-gconf.c | 2 ++ src/usb_moded-modesetting.c | 2 +- src/usb_moded-trigger.c | 12 +++++++++++- 5 files changed, 28 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index a618564..b1ba041 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([usb_moded], [0.39]) +AC_INIT([usb_moded], [0.41]) AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AM_CONFIG_HEADER([config.h]) diff --git a/debian/changelog b/debian/changelog index 2c83ff5..e034893 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +usb-moded (0.41) unstable; urgency=low + + * Fix forgotten case for devicelock/trigger. Fixes: NB#261558 + * Small memory leak fix for the gconf handler + + -- Philippe De Swert Fri, 03 Jun 2011 13:53:58 +0300 + +usb-moded (0.40) unstable; urgency=low + + * check devicelock export permission in trigger. Fixes: NB#261558 + + -- Philippe De Swert Tue, 31 May 2011 14:43:00 +0300 + usb-moded (0.39) unstable; urgency=low * Add disconnect unbouncing timeout diff --git a/src/usb_moded-gconf.c b/src/usb_moded-gconf.c index d3f3789..af11f6a 100644 --- a/src/usb_moded-gconf.c +++ b/src/usb_moded-gconf.c @@ -83,11 +83,13 @@ int set_mode_setting(const char *mode) if (!gconf_client_set_string(gclient, USB_MODE_GCONF, mode, NULL)) { log_err("Unable to set GConf key"); + g_object_unref(gclient); return(1); } } else return(1); + g_object_unref(gclient); return(0); } diff --git a/src/usb_moded-modesetting.c b/src/usb_moded-modesetting.c index 935c3da..7b81a1c 100644 --- a/src/usb_moded-modesetting.c +++ b/src/usb_moded-modesetting.c @@ -214,7 +214,7 @@ static void report_mass_storage_blocker(const char *mountpoint) { gchar **split = 0; split = g_strsplit((const gchar*)text, " ", 2); - log_debug("Mass storage blocked by process %s\n", split[0]); + log_err("Mass storage blocked by process %s\n", split[0]); usb_moded_send_error_signal(split[0]); g_strfreev(split); } diff --git a/src/usb_moded-trigger.c b/src/usb_moded-trigger.c index 9d61175..ccf9976 100644 --- a/src/usb_moded-trigger.c +++ b/src/usb_moded-trigger.c @@ -37,6 +37,9 @@ #include "usb_moded-config.h" #include "usb_moded-hw-ab.h" #include "usb_moded-trigger.h" +#ifdef NOKIA +#include "usb_moded-devicelock.h" +#endif /* NOKIA */ /* global variables */ static struct udev *udev; @@ -173,14 +176,21 @@ static void udev_parse(struct udev_device *dev) { if(!strcmp(tmp, get_trigger_value())) { +#ifdef NOKIA + if(!usb_moded_get_export_permission()) +#endif /* NOKIA */ set_usb_mode(get_trigger_mode()); + } else return; } else { - set_usb_mode(get_trigger_mode()); +#ifdef NOKIA + if(!usb_moded_get_export_permission()) +#endif /* NOKIA */ + set_usb_mode(get_trigger_mode()); } return; }