socket-util: make sure SO_PEERSEC returned string is always NUL terminated
it's not entirely clear to me if the manual NUL termination is necessary, but let's better be safe than sorry, since this is apparently up to the LSMs, and I am not sure we can trust them all. A lot of other code (such as dbus-broker) patches in the NUL byte, hence let's be rather safe-then-sorry, it's trivial after all.
This commit is contained in:
@@ -907,8 +907,10 @@ int getpeersec(int fd, char **ret) {
|
||||
if (!s)
|
||||
return -ENOMEM;
|
||||
|
||||
if (getsockopt(fd, SOL_SOCKET, SO_PEERSEC, s, &n) >= 0)
|
||||
if (getsockopt(fd, SOL_SOCKET, SO_PEERSEC, s, &n) >= 0) {
|
||||
s[n] = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if (errno != ERANGE)
|
||||
return -errno;
|
||||
|
||||
Reference in New Issue
Block a user