mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 22:01:31 +02:00
[CLEANUP] add a few checks for functions return values
Markus Elfring suggested adding a few checks which were missing after a bunch of getsockopt() and 2 strdup(). While those are unlikely to fail where they are used, it makes the code cleaner.
This commit is contained in:
parent
2a429503e0
commit
c642348ce4
@ -176,9 +176,7 @@ int event_srv_chk_r(int fd)
|
||||
socklen_t lskerr = sizeof(skerr);
|
||||
|
||||
result = len = -1;
|
||||
|
||||
getsockopt(fd, SOL_SOCKET, SO_ERROR, &skerr, &lskerr);
|
||||
if (!skerr) {
|
||||
if (!getsockopt(fd, SOL_SOCKET, SO_ERROR, &skerr, &lskerr) && !skerr) {
|
||||
#ifndef MSG_NOSIGNAL
|
||||
len = recv(fd, reply, sizeof(reply), 0);
|
||||
#else
|
||||
|
@ -96,6 +96,8 @@ struct sockaddr_in *str2sa(char *str)
|
||||
|
||||
memset(&sa, 0, sizeof(sa));
|
||||
str = strdup(str);
|
||||
if (str == NULL)
|
||||
goto out_nofree;
|
||||
|
||||
if ((c = strrchr(str,':')) != NULL) {
|
||||
*c++ = '\0';
|
||||
@ -120,6 +122,7 @@ struct sockaddr_in *str2sa(char *str)
|
||||
sa.sin_family = AF_INET;
|
||||
|
||||
free(str);
|
||||
out_nofree:
|
||||
return &sa;
|
||||
}
|
||||
|
||||
@ -137,6 +140,8 @@ int str2net(char *str, struct in_addr *addr, struct in_addr *mask)
|
||||
memset(mask, 0, sizeof(*mask));
|
||||
memset(addr, 0, sizeof(*addr));
|
||||
str = strdup(str);
|
||||
if (str == NULL)
|
||||
return 0;
|
||||
|
||||
if ((c = strrchr(str, '/')) != NULL) {
|
||||
*c++ = '\0';
|
||||
|
@ -86,8 +86,8 @@ int stream_sock_read(int fd) {
|
||||
int skerr;
|
||||
socklen_t lskerr = sizeof(skerr);
|
||||
|
||||
getsockopt(fd, SOL_SOCKET, SO_ERROR, &skerr, &lskerr);
|
||||
if (skerr)
|
||||
ret = getsockopt(fd, SOL_SOCKET, SO_ERROR, &skerr, &lskerr);
|
||||
if (ret == -1 || skerr)
|
||||
ret = -1;
|
||||
else
|
||||
ret = recv(fd, b->r, max, 0);
|
||||
@ -171,8 +171,8 @@ int stream_sock_write(int fd) {
|
||||
if (fdtab[fd].state == FD_STCONN) {
|
||||
int skerr;
|
||||
socklen_t lskerr = sizeof(skerr);
|
||||
getsockopt(fd, SOL_SOCKET, SO_ERROR, &skerr, &lskerr);
|
||||
if (skerr) {
|
||||
ret = getsockopt(fd, SOL_SOCKET, SO_ERROR, &skerr, &lskerr);
|
||||
if (ret == -1 || skerr) {
|
||||
b->flags |= BF_WRITE_ERROR;
|
||||
fdtab[fd].state = FD_STERROR;
|
||||
task_wakeup(&rq, fdtab[fd].owner);
|
||||
@ -195,8 +195,8 @@ int stream_sock_write(int fd) {
|
||||
int skerr;
|
||||
socklen_t lskerr = sizeof(skerr);
|
||||
|
||||
getsockopt(fd, SOL_SOCKET, SO_ERROR, &skerr, &lskerr);
|
||||
if (skerr)
|
||||
ret = getsockopt(fd, SOL_SOCKET, SO_ERROR, &skerr, &lskerr);
|
||||
if (ret == -1 || skerr)
|
||||
ret = -1;
|
||||
else
|
||||
ret = send(fd, b->w, max, MSG_DONTWAIT);
|
||||
|
Loading…
x
Reference in New Issue
Block a user