summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2012-03-05 15:14:39 (GMT)
committerBastien Nocera <hadess@hadess.net>2012-03-05 15:17:54 (GMT)
commit0fc947c590ec40f492af16cef5e3de7775ba08ab (patch)
tree5825c5690e8fb1c3d232958d8ce605d66ecee6c7
parent82cea586a600022752ad0250494256cefd5d922f (diff)
downloadgnome-settings-daemon-0fc947c590ec40f492af16cef5e3de7775ba08ab.zip
gnome-settings-daemon-0fc947c590ec40f492af16cef5e3de7775ba08ab.tar.xz
power: Add more error checks
Should fix crasher in most unlikely of circumstances. Like the kernel giving us crap data. https://bugzilla.gnome.org/show_bug.cgi?id=671268
-rw-r--r--plugins/power/gsd-power-manager.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
index d0e9d66..b6ca32a 100644
--- a/plugins/power/gsd-power-manager.c
+++ b/plugins/power/gsd-power-manager.c
@@ -2502,6 +2502,16 @@ backlight_helper_get_value (const gchar *argument, GError **error)
goto out;
}
+ /* Fetching the value failed, for some other reason */
+ if (value < 0) {
+ g_set_error (error,
+ GSD_POWER_MANAGER_ERROR,
+ GSD_POWER_MANAGER_ERROR_FAILED,
+ "value negative, but helper did not fail: %s",
+ stdout_data);
+ goto out;
+ }
+
out:
g_free (command);
g_free (stdout_data);