1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-27 01:55:22 +03:00

man/notify-selfcontained-example: check argument first

This is just good style. In this particular case, if the argument is incorrect and
the function is not tested with $NOTIFY_SOCKET set, the user could not get the
proper error until running for real.

Also, remove mention of systemd. The protocol is fully generic on purpose.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2024-04-04 10:57:30 +02:00
parent a1887f8b48
commit 4cbf560edf

View File

@ -41,10 +41,7 @@ static int notify(const char *message) {
_cleanup_(closep) int fd = -1;
const char *socket_path;
socket_path = getenv("NOTIFY_SOCKET");
if (!socket_path)
return 0; /* Not running under systemd? Nothing to do */
/* Verify the argument first */
if (!message)
return -EINVAL;
@ -52,6 +49,11 @@ static int notify(const char *message) {
if (message_length == 0)
return -EINVAL;
/* If the variable is not set, the protocol is a noop */
socket_path = getenv("NOTIFY_SOCKET");
if (!socket_path)
return 0; /* Not set? Nothing to do */
/* Only AF_UNIX is supported, with path or abstract sockets */
if (socket_path[0] != '/' && socket_path[0] != '@')
return -EAFNOSUPPORT;