[ 
https://issues.apache.org/jira/browse/DISPATCH-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ganesh Murthy resolved DISPATCH-2106.
-------------------------------------
    Resolution: Fixed

> [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: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to