Mercurial > dropbear
comparison netio.c @ 1641:a2bbc22ea1e6 coverity
merge coverity
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 21 Mar 2019 00:14:38 +0800 |
parents | 35a1e8de3aec |
children | d384bc2e5af3 |
comparison
equal
deleted
inserted
replaced
1610:96e4c9b2cc00 | 1641:a2bbc22ea1e6 |
---|---|
222 } | 222 } |
223 | 223 |
224 | 224 |
225 void set_connect_fds(fd_set *writefd) { | 225 void set_connect_fds(fd_set *writefd) { |
226 m_list_elem *iter; | 226 m_list_elem *iter; |
227 TRACE(("enter set_connect_fds")) | |
228 iter = ses.conn_pending.first; | 227 iter = ses.conn_pending.first; |
229 while (iter) { | 228 while (iter) { |
230 m_list_elem *next_iter = iter->next; | 229 m_list_elem *next_iter = iter->next; |
231 struct dropbear_progress_connection *c = iter->item; | 230 struct dropbear_progress_connection *c = iter->item; |
232 /* Set one going */ | 231 /* Set one going */ |
243 c->cb(DROPBEAR_FAILURE, -1, c->cb_data, c->errstring); | 242 c->cb(DROPBEAR_FAILURE, -1, c->cb_data, c->errstring); |
244 remove_connect(c, iter); | 243 remove_connect(c, iter); |
245 } | 244 } |
246 iter = next_iter; | 245 iter = next_iter; |
247 } | 246 } |
248 TRACE(("leave set_connect_fds")) | |
249 } | 247 } |
250 | 248 |
251 void handle_connect_fds(const fd_set *writefd) { | 249 void handle_connect_fds(const fd_set *writefd) { |
252 m_list_elem *iter; | 250 m_list_elem *iter; |
253 TRACE(("enter handle_connect_fds")) | |
254 for (iter = ses.conn_pending.first; iter; iter = iter->next) { | 251 for (iter = ses.conn_pending.first; iter; iter = iter->next) { |
255 int val; | 252 int val; |
256 socklen_t vallen = sizeof(val); | 253 socklen_t vallen = sizeof(val); |
257 struct dropbear_progress_connection *c = iter->item; | 254 struct dropbear_progress_connection *c = iter->item; |
258 | 255 |
282 TRACE(("leave handle_connect_fds - success")) | 279 TRACE(("leave handle_connect_fds - success")) |
283 /* Must return here - remove_connect() invalidates iter */ | 280 /* Must return here - remove_connect() invalidates iter */ |
284 return; | 281 return; |
285 } | 282 } |
286 } | 283 } |
287 TRACE(("leave handle_connect_fds - end iter")) | |
288 } | 284 } |
289 | 285 |
290 void connect_set_writequeue(struct dropbear_progress_connection *c, struct Queue *writequeue) { | 286 void connect_set_writequeue(struct dropbear_progress_connection *c, struct Queue *writequeue) { |
291 c->writequeue = writequeue; | 287 c->writequeue = writequeue; |
292 } | 288 } |
296 unsigned int i; | 292 unsigned int i; |
297 int len; | 293 int len; |
298 buffer *writebuf; | 294 buffer *writebuf; |
299 | 295 |
300 #ifndef IOV_MAX | 296 #ifndef IOV_MAX |
301 #define IOV_MAX UIO_MAXIOV | 297 #if defined(__CYGWIN__) && !defined(UIO_MAXIOV) |
298 #define IOV_MAX 1024 | |
299 #else | |
300 #define IOV_MAX UIO_MAXIOV | |
301 #endif | |
302 #endif | 302 #endif |
303 | 303 |
304 *iov_count = MIN(MIN(queue->count, IOV_MAX), *iov_count); | 304 *iov_count = MIN(MIN(queue->count, IOV_MAX), *iov_count); |
305 | 305 |
306 for (l = queue->head, i = 0; i < *iov_count; l = l->link, i++) | 306 for (l = queue->head, i = 0; i < *iov_count; l = l->link, i++) |