diff options
Diffstat (limited to 'alarm-session-agent/agent.c')
-rw-r--r-- | alarm-session-agent/agent.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/alarm-session-agent/agent.c b/alarm-session-agent/agent.c index 39f93c0..172631e 100644 --- a/alarm-session-agent/agent.c +++ b/alarm-session-agent/agent.c @@ -25,6 +25,7 @@ #include <assert.h> #include <errno.h> #include <poll.h> +#include <linux/limits.h> #include <systemd/sd-daemon.h> #include <bundle.h> @@ -198,7 +199,7 @@ static gboolean _alarm_agent_main(gint fd, GIOCondition condition, return G_SOURCE_CONTINUE; } - if (len <= 0) { + if (len <= 0 || len > PATH_MAX) { close(clifd); return G_SOURCE_CONTINUE; } @@ -226,7 +227,6 @@ static gboolean _alarm_agent_main(gint fd, GIOCondition condition, gv = g_variant_new_from_data(G_VARIANT_TYPE("(is)"), data, len, TRUE, NULL, NULL); - if (!gv) { free(data); close(clifd); |