Skip to content

Commit e221463

Browse files
committed
test_async_driver.cc: fix NEGATIVE_RETURNS
Fix for: CID 1254374 (#1 of 1): Argument cannot be negative (NEGATIVE_RETURNS) 1. negative_return_fn: Function socket(2, SOCK_STREAM, 0) returns a negative number. 2. var_assign: Assigning: signed variable connect_sd = socket. 3. negative_returns: connect_sd is passed to a parameter that cannot be negative. Signed-off-by: Danny Al-Gaaf <[email protected]>
1 parent b4cfe73 commit e221463

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

src/test/msgr/test_async_driver.cc

+17-14
Original file line numberDiff line numberDiff line change
@@ -138,26 +138,29 @@ TEST_P(EventDriverTest, PipeTest) {
138138
void* echoclient(void *arg)
139139
{
140140
intptr_t port = (intptr_t)arg;
141-
int connect_sd = ::socket(AF_INET, SOCK_STREAM, 0);
142141
struct sockaddr_in sa;
143142
sa.sin_family = AF_INET;
144143
sa.sin_port = htons(port);
145144
char addr[] = "127.0.0.1";
146145
int r = inet_aton(addr, &sa.sin_addr);
147-
r = connect(connect_sd, (struct sockaddr*)&sa, sizeof(sa));
148-
int t = 0;
149146

150-
do {
151-
char c[] = "banner";
152-
r = write(connect_sd, c, sizeof(c));
153-
char d[100];
154-
r = read(connect_sd, d, sizeof(d));
155-
if (r == 0)
156-
break;
157-
if (t++ == 30)
158-
break;
159-
} while (1);
160-
::close(connect_sd);
147+
int connect_sd = ::socket(AF_INET, SOCK_STREAM, 0);
148+
if (connect_sd >= 0) {
149+
r = connect(connect_sd, (struct sockaddr*)&sa, sizeof(sa));
150+
int t = 0;
151+
152+
do {
153+
char c[] = "banner";
154+
r = write(connect_sd, c, sizeof(c));
155+
char d[100];
156+
r = read(connect_sd, d, sizeof(d));
157+
if (r == 0)
158+
break;
159+
if (t++ == 30)
160+
break;
161+
} while (1);
162+
::close(connect_sd);
163+
}
161164
return 0;
162165
}
163166

0 commit comments

Comments
 (0)