Currently, code checks if recvfrom() returns ENOBUFS, however, it can never
return errno type error code, but -1 on error
Fix that by checking errno in case of an error instead
Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Acked-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
from_nla_len = sizeof(from_nla);
recv_len = recvfrom(sk_nl, buff, sizeof(buff), 0, (struct sockaddr *)&from_nla,
&from_nla_len);
- if (recv_len == ENOBUFS) {
+ if (recv_len == -1 && errno == ENOBUFS) {
flog(LOG_ERR, "ERROR: NETLINK BUFFER FULL, MESSAGE DROPPED!\n");
return 0;
}