Browse code

clamonacc - fix bug in case where client would not properly return an error and recover after timing out while receiving data; add new line(s) to afforementioned error hanlding case

Mickey Sola authored on 2019/06/15 04:05:14
Showing 1 changed files
... ...
@@ -94,7 +94,7 @@ int onas_sendln(CURL *curl, const void *line, size_t len, int64_t timeout) {
94 94
 		do {
95 95
 			curlcode = curl_easy_send(curl, line, len, &sent);
96 96
 			if (CURLE_AGAIN == curlcode && !onas_socket_wait(sockfd, 0, timeout)) {
97
-				logg("!ClamCom: TIMEOUT while waiting on socket (send)");
97
+				logg("!ClamCom: TIMEOUT while waiting on socket (send)\n");
98 98
 				return 1;
99 99
 			}
100 100
 		} while (CURLE_AGAIN == curlcode);
... ...
@@ -143,7 +143,7 @@ int onas_recvln(struct RCVLN *rcv_data, char **ret_bol, char **ret_eol, int64_t
143 143
 
144 144
 	if(CURLE_OK != rcv_data->curlcode) {
145 145
 		logg("!ClamCom: could not get curl active socket info %s\n", curl_easy_strerror(rcv_data->curlcode));
146
-		return 1;
146
+		return -1;
147 147
 	}
148 148
 
149 149
 	while(1) {
... ...
@@ -153,8 +153,8 @@ int onas_recvln(struct RCVLN *rcv_data, char **ret_bol, char **ret_eol, int64_t
153 153
 					sizeof(rcv_data->buf) - (rcv_data->curr - rcv_data->buf), &(rcv_data->retlen));
154 154
 
155 155
 			if (CURLE_AGAIN == rcv_data->curlcode && !onas_socket_wait(sockfd, 1, timeout)) {
156
-				logg("!ClamCom: TIMEOUT while waiting on socket (recv)");
157
-				return 1;
156
+				logg("!ClamCom: TIMEOUT while waiting on socket (recv)\n");
157
+				return -1;
158 158
 			}
159 159
 
160 160
                     } while (CURLE_AGAIN == rcv_data->curlcode);