[
https://issues.apache.org/jira/browse/DISPATCH-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17342556#comment-17342556
]
ASF subversion and git services commented on DISPATCH-2106:
-----------------------------------------------------------
Commit 810bb18af7fff11efa1dff22c13f595f7842a80c in qpid-dispatch's branch
refs/heads/main from Ganesh Murthy
[ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=810bb18 ]
DISPATCH-2106, DISPATCH-2107: Coverity fixes for main branch. This closes #1206
> [HTTP2] coverity errors
> -----------------------
>
> Key: DISPATCH-2106
> URL: https://issues.apache.org/jira/browse/DISPATCH-2106
> Project: Qpid Dispatch
> Issue Type: Bug
> Components: Protocol Adaptors
> Affects Versions: 1.16.0
> Reporter: Ken Giusti
> Assignee: Ganesh Murthy
> Priority: Major
> Fix For: 1.17.0
>
>
> [View in coverity
> website|https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yrYzWbMPmorD7XnOuZAY1PF5CxqEeKRARa-2FNIb9NgRx3I5GnaWT0ahntmzOiTsHYFJfTdXTXBeRPsUiGGEXnaDOWhxJ_w8xEUxas-2FGH82wkNPpeCiA-2Fca9GedKFqh2wBbuF5Hks63KpvdX8ua9OXCPRTdvgaN6wJ5z4C2sTXqY04L5a3RYdertN1-2FB9NA8Tq25x2C2-2FoQQRuU8G6vQ74tNg63oy771wTuBf5ZOuYWNDRy5qbjfRja-2BwLS4djseUaLyw5quDN7aSOVQvEqSp1q6Uu3Ga1HzY-2Bf7-2BNxQQEWi9jRLdrWg-3D-3D]
> {{** CID 370602: Control flow issues (DEADCODE)
> /home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/http2/http2_adaptor.c:
> 1942 in qdr_http_deliver()
> ________________________________________________________________________________________________________
> *** CID 370602: Control flow issues (DEADCODE)
> /home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/http2/http2_adaptor.c:
> 1942 in qdr_http_deliver()
> 1936 if (stream_data->status == QD_STREAM_FULLY_CLOSED && disp ==
> PN_ACCEPTED) {
> 1937 qd_log(http2_adaptor->log_source, QD_LOG_TRACE,
> "[C%"PRIu64"][S%"PRId32"] qdr_http_deliver - calling free_http2_stream_data",
> conn->conn_id, stream_data->stream_id);
> 1938 free_http2_stream_data(stream_data, false);
> 1939 }
> 1940 return disp;
> 1941 }
> >>> CID 370602: Control flow issues (DEADCODE)
> >>> Execution cannot reach this statement: "return 0UL;".
> 1942 return 0;
> 1943 }
> 1944
> 1945
> 1946 static int handle_incoming_http(qdr_http2_connection_t *conn)
> 1947 {
> ** CID 363441: API usage errors (PRINTF_ARGS)
> ________________________________________________________________________________________________________
> *** CID 363441: API usage errors (PRINTF_ARGS)
> /home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/http2/http2_adaptor.c:
> 283 in write_buffers()
> 277 i ++;
> 278
> 279 }
> 280
> 281 if (i >0) {
> 282 size_t num_buffers_written =
> pn_raw_connection_write_buffers(session_data->conn->pn_raw_conn, raw_buffers,
> num_buffs);
> >>> CID 363441: API usage errors (PRINTF_ARGS)
> >>> Argument "num_buffers_written" to format specifier "%i" was expected
> >>> to have type "int" but has type "unsigned long".
> 283 qd_log(http2_adaptor->log_source, QD_LOG_TRACE, "[C%"PRIu64"]
> Written %i buffer(s) and %i bytes in write_buffers() using
> pn_raw_connection_write_buffers()", conn->conn_id, num_buffers_written,
> total_bytes);
> 284 if (num_buffs != num_buffers_written) {
> 285 //TODO - This is not good.
> 286 }
> 287 return num_buffers_written;
> 288 }
> ** CID 363429: (PRINTF_ARGS)
> ________________________________________________________________________________________________________
> *** CID 363429: (PRINTF_ARGS)
> /home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/http2/http2_adaptor.c:
> 2481 in handle_connection_event()
> 2475 if (written > 0 && !conn->ingress && !conn->first_pinged) {
> 2476 // Send a PING frame 4 seconds after opening an egress
> connection.
> 2477 qd_timer_schedule(conn->ping_timer, PING_INTERVAL *
> 1000);
> 2478 conn->first_pinged = true;
> 2479 }
> 2480
> >>> CID 363429: (PRINTF_ARGS)
> >>> Argument "written" to format specifier "%i" was expected to have type
> >>> "int" but has type "unsigned long".
> 2481 qd_log(log, QD_LOG_TRACE, "[C%"PRIu64"]
> PN_RAW_CONNECTION_WRITTEN Wrote %i bytes, DEQ_SIZE(session_data->buffs) =
> %zu", conn->conn_id, written, DEQ_SIZE(conn->session_data->buffs));
> 2482 restart_streams(conn);
> 2483 break;
> 2484 }
> 2485 default:
> 2486 break;
> /home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/http2/http2_adaptor.c:
> 2458 in handle_connection_event()
> 2452 }
> 2453 case PN_RAW_CONNECTION_WRITTEN: {
> 2454 pn_raw_buffer_t buffs[WRITE_BUFFERS];
> 2455 size_t n;
> 2456 size_t written = 0;
> 2457 if (conn->pn_raw_conn == 0) {
> >>> CID 363429: (PRINTF_ARGS)
> >>> This argument was not used by the format string: "written".
> 2458 qd_log(log, QD_LOG_TRACE, "[C%"PRIu64"]
> PN_RAW_CONNECTION_WRITTEN, No pn_raw_conn", conn->conn_id, written);
> 2459 break;
> 2460 }
> 2461 while ( (n =
> pn_raw_connection_take_written_buffers(conn->pn_raw_conn, buffs,
> WRITE_BUFFERS)) ) {
> 2462 for (size_t i = 0; i < n; ++i) {
> 2463 written += buffs[i].size;
> ** CID 363423: API usage errors (PRINTF_ARGS)
> ________________________________________________________________________________________________________
> *** CID 363423: API usage errors (PRINTF_ARGS)
> /home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/http2/http2_adaptor.c:
> 560 in snd_data_callback()
> 554 if (pn_raw_buffs[idx].size > 0) {
> 555 //int bytes_remaining = length - bytes_sent;
> 556 //if (bytes_remaining > pn_raw_buffs[idx].size) {
> 557 memcpy(qd_http2_buffer_cursor(http2_buff),
> pn_raw_buffs[idx].bytes, pn_raw_buffs[idx].size);
> 558 qd_http2_buffer_insert(http2_buff,
> pn_raw_buffs[idx].size);
> 559 bytes_sent += pn_raw_buffs[idx].size;
> >>> CID 363423: API usage errors (PRINTF_ARGS)
> >>> Argument "pn_raw_buffs[idx].size" to format specifier "%zu" was
> >>> expected to have type "size_t"("unsigned long") but has type "unsigned
> >>> int".
> 560 qd_log(http2_adaptor->protocol_log_source,
> QD_LOG_TRACE, "[C%"PRIu64"][S%"PRId32"] snd_data_callback memcpy
> pn_raw_buffs[%i].size=%zu", conn->conn_id, stream_data->stream_id, idx,
> pn_raw_buffs[idx].size);
> 561 // }
> 562 // else {
> 563 // memcpy(qd_http2_buffer_cursor(http2_buff),
> pn_raw_buffs[idx].bytes, bytes_remaining);
> 564 // qd_http2_buffer_insert(http2_buff,
> bytes_remaining);
> 565 // bytes_sent += bytes_remaining;
> ** CID 363400: Error handling issues (CHECKED_RETURN)
> /home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/http2/http2_adaptor.c:
> 2396 in handle_connection_event()
> ________________________________________________________________________________________________________
> *** CID 363400: Error handling issues (CHECKED_RETURN)
> /home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/http2/http2_adaptor.c:
> 2396 in handle_connection_event()
> 2390 conn->client_magic_sent = true;
> 2391 }
> 2392 qd_log(log, QD_LOG_INFO, "[C%"PRIu64"] Connected Egress
> (PN_RAW_CONNECTION_CONNECTED)", conn->conn_id);
> 2393 conn->connection_established = true;
> 2394 create_stream_dispatcher_link(conn);
> 2395 qd_log(log, QD_LOG_TRACE, "[C%"PRIu64"] Created
> stream_dispatcher_link in PN_RAW_CONNECTION_CONNECTED", conn->conn_id);
> >>> CID 363400: Error handling issues (CHECKED_RETURN)
> >>> Calling "qdr_connection_process" without checking return value (as is
> >>> done elsewhere 13 out of 15 times).
> 2396 qdr_connection_process(conn->qdr_conn);
> 2397 }
> 2398 break;
> 2399 }
> 2400 case PN_RAW_CONNECTION_CLOSED_READ: {
> 2401 pn_raw_connection_close(conn->pn_raw_conn);
> ________________________________________________________________________________________________________
> To view the defects in Coverity Scan visit,
> https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yrYzWbMPmorD7XnOuZAY1PF5CxqEeKRARa-2FNIb9NgRx3I5GnaWT0ahntmzOiTsHYFJfTdXTXBeRPsUiGGEXnaDOWhxJ_w8xEUxas-2FGH82wkNPpeCiA-2Fca9GedKFqh2wBbuF5Hks63KpvdX8ua9OXCPRTdvgaN6wJ5z4C2sTXqY04L5a3RYdertN1-2FB9NA8Tq25x2C2-2FoQQRuU8G6vQ74tNg63oy771wTuBf5ZOuYWNDRy5qbjfRja-2BwLS4djseUaLyw5quDN7aSOVQvEqSp1q6Uu3Ga1HzY-2Bf7-2BNxQQEWi9jRLdrWg-3D-3D
> }}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]