util: Check return value of lseek() while reading bound ports from procfs
Coverity now noticed we're checking most lseek() return values, but not this. Not really relevant, but it doesn't hurt to check we can actually seek before reading lines. Signed-off-by: Stefano Brivio <sbrivio@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
e23024ccff
commit
9de65dd3f4
1 changed files with 7 additions and 3 deletions
10
util.c
10
util.c
|
@ -311,10 +311,14 @@ void procfs_scan_listen(struct ctx *c, uint8_t proto, int ip_version, int ns,
|
|||
path = "/proc/net/udp6";
|
||||
}
|
||||
|
||||
if (*fd != -1)
|
||||
lseek(*fd, 0, SEEK_SET);
|
||||
else if ((*fd = open(path, O_RDONLY | O_CLOEXEC)) < 0)
|
||||
if (*fd != -1) {
|
||||
if (lseek(*fd, 0, SEEK_SET)) {
|
||||
warn("lseek() failed on %s: %s", path, strerror(errno));
|
||||
return;
|
||||
}
|
||||
} else if ((*fd = open(path, O_RDONLY | O_CLOEXEC)) < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
lineread_init(&lr, *fd);
|
||||
lineread_get(&lr, &line); /* throw away header */
|
||||
|
|
Loading…
Reference in a new issue