chiark / gitweb /
service: don't accept negative ERRNO= notification messages
[elogind.git] / src / core / service.c
index 5c54a34bcdc7f3b98a4f1a90e6f195516bc5b01d..d5aff990964d8969546acc16575b916cb49eec3e 100644 (file)
@@ -2637,7 +2637,7 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) {
         if (e) {
                 int status_errno;
 
-                if (safe_atoi(e + 6, &status_errno) < 0)
+                if (safe_atoi(e + 6, &status_errno) < 0 || status_errno < 0)
                         log_warning_unit(u->id, "Failed to parse ERRNO= field in notification message: %s", e);
                 else {
                         log_debug_unit(u->id, "%s: got %s", u->id, e);