chiark / gitweb /
core: when the user hits Ctrl-Alt-Del more than 7x per 2s, reboot immediately
[elogind.git] / src / core / unit-printf.c
index 5bd30f0bf74a7a4e37b07a0797d1d0514f40ac0e..97135db551aa2f1e7cc7f42c99f4562e2ac79a55 100644 (file)
@@ -19,7 +19,7 @@
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
-#include "systemd/sd-id128.h"
+#include "sd-id128.h"
 #include "unit.h"
 #include "specifier.h"
 #include "path-util.h"
@@ -182,7 +182,7 @@ static int specifier_user_name(char specifier, void *data, void *userdata, char
         char *printed = NULL;
         Unit *u = userdata;
         ExecContext *c;
-        int r;
+        int r = 0;
 
         assert(u);
 
@@ -208,7 +208,7 @@ static int specifier_user_name(char specifier, void *data, void *userdata, char
                                 if (r < 0)
                                         return -ENODATA;
 
-                                asprintf(&printed, UID_FMT, uid);
+                                r = asprintf(&printed, UID_FMT, uid);
                         }
                 }
 
@@ -231,10 +231,10 @@ static int specifier_user_name(char specifier, void *data, void *userdata, char
                 if (specifier == 'u')
                         printed = strdup(username);
                 else
-                        asprintf(&printed, UID_FMT, uid);
+                        r = asprintf(&printed, UID_FMT, uid);
         }
 
-        if (!printed)
+        if (r < 0 || !printed)
                 return -ENOMEM;
 
         *ret = printed;