From f6187c097f569269fcbfcf603888fa5af3e2af90 Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn@redhat.com>
Date: Mon, 20 Aug 2012 14:39:08 +0200
Subject: [PATCH] login: check return of parse_pid and parse_uid (cherry
picked from commit
a34faf579d2be139b0b9e8cd0c73ad4d918ef736)
---
src/login/logind-inhibit.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/login/logind-inhibit.c b/src/login/logind-inhibit.c
index 721b38d..6deecd3 100644
--- a/src/login/logind-inhibit.c
+++ b/src/login/logind-inhibit.c
@@ -219,11 +219,17 @@ int inhibitor_load(Inhibitor *i) {
if (mm >= 0)
i->mode = mm;
- if (uid)
- parse_uid(uid, &i->uid);
+ if (uid) {
+ r = parse_uid(uid, &i->uid);
+ if (r < 0)
+ goto finish;
+ }
- if (pid)
- parse_pid(pid, &i->pid);
+ if (pid) {
+ r = parse_pid(pid, &i->pid);
+ if (r < 0)
+ goto finish;
+ }
if (who) {
cc = cunescape(who);