Uploaded image for project: 'Qpid Dispatch'
  1. Qpid Dispatch
  2. DISPATCH-1899

Coverity issues on master branch

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.15.0
    • Protocol Adaptors
    • None

    Description

      Please find the latest report on new defect(s) introduced to Apache Qpid dispatch-router found with Coverity Scan.
      6 new defect(s) introduced to Apache Qpid dispatch-router found with Coverity Scan.
      New defect(s) Reported-by: Coverity Scan
      Showing 6 of 6 defect(s)** CID 364262:  API usage errors  (PRINTF_ARGS)
      ________________________________________________________________________________________________________
      *** CID 364262:  API usage errors  (PRINTF_ARGS)
      /qpid-dispatch/src/adaptors/tcp_adaptor.c: 126 in grant_read_buffers()
      120     static void grant_read_buffers(qdr_tcp_connection_t *conn)
      121     {
      122         pn_raw_buffer_t raw_buffers[READ_BUFFERS];
      123         // Give proactor more read buffers for the socket
      124         if (!pn_raw_connection_is_read_closed(conn->pn_raw_conn)) {
      125             size_t desired = pn_raw_connection_read_buffers_capacity(conn->pn_raw_conn);
      >>>     CID 364262:  API usage errors  (PRINTF_ARGS)
      >>>     Argument "desired" to format specifier "%i" was expected to have type "int" but has type "unsigned long".
      126             qd_log(tcp_adaptor->log_source, QD_LOG_DEBUG, "[C%"PRIu64"] Granted %i read buffers", conn->conn_id, desired);
      127             while (desired) {
      128                 size_t i;
      129                 for (i = 0; i < desired && i < READ_BUFFERS; ++i) {
      130                     qd_buffer_t *buf = qd_buffer();
      131                     raw_buffers[i].bytes = (char*) qd_buffer_base(buf);** CID 364261:    (PRINTF_ARGS)________________________________________________________________________________________________________
      *** CID 364261:    (PRINTF_ARGS)
      /qpid-dispatch/src/adaptors/http1/http1_client.c: 1516 in qdr_http1_client_core_link_deliver()
      1510         // aggregation format
      1511         if (hconn->cfg.aggregation != QD_AGGREGATION_NONE) {
      1512             if (!qd_message_receive_complete(msg)) {
      1513                 qd_log(qdr_http1_adaptor->log, QD_LOG_DEBUG, "[C%"PRIu64"][L%"PRIu64"] Response incomplete (%i responses received)", hconn->conn_id, link->identity, DEQ_SIZE(hreq->responses));
      1514                 return 0;
      1515             }
      >>>     CID 364261:    (PRINTF_ARGS)
      >>>     Argument "hreq->responses.size" to format specifier "%i" was expected to have type "int" but has type "unsigned long".
      1516             qd_log(qdr_http1_adaptor->log, QD_LOG_DEBUG, "[C%"PRIu64"][L%"PRIu64"] Received response (%i responses received), settling", hconn->conn_id, link->identity, DEQ_SIZE(hreq->responses));
      1517             rmsg->dispo = PN_ACCEPTED;
      1518             qd_message_set_send_complete(msg);
      1519             qdr_link_flow(qdr_http1_adaptor->core, link, 1, false);
      1520             qdr_delivery_remote_state_updated(qdr_http1_adaptor->core,
      1521                                               rmsg->dlv,
      /qpid-dispatch/src/adaptors/http1/http1_client.c: 1513 in qdr_http1_client_core_link_deliver()
      1507     
      1508         // when aggregating responses, they are saved on the list until
      1509         // the request has been settled, then encoded in the configured
      1510         // aggregation format
      1511         if (hconn->cfg.aggregation != QD_AGGREGATION_NONE) {
      1512             if (!qd_message_receive_complete(msg)) {
      >>>     CID 364261:    (PRINTF_ARGS)
      >>>     Argument "hreq->responses.size" to format specifier "%i" was expected to have type "int" but has type "unsigned long".
      1513                 qd_log(qdr_http1_adaptor->log, QD_LOG_DEBUG, "[C%"PRIu64"][L%"PRIu64"] Response incomplete (%i responses received)", hconn->conn_id, link->identity, DEQ_SIZE(hreq->responses));
      1514                 return 0;
      1515             }
      1516             qd_log(qdr_http1_adaptor->log, QD_LOG_DEBUG, "[C%"PRIu64"][L%"PRIu64"] Received response (%i responses received), settling", hconn->conn_id, link->identity, DEQ_SIZE(hreq->responses));
      1517             rmsg->dispo = PN_ACCEPTED;
      1518             qd_message_set_send_complete(msg);** CID 364260:  API usage errors  (PRINTF_ARGS)________________________________________________________________________________________________________
      *** CID 364260:  API usage errors  (PRINTF_ARGS)
      /qpid-dispatch/src/adaptors/tcp_adaptor.c: 178 in handle_incoming()
      172                     qd_buffer_free(buf);
      173                     free_count++;
      174                 }
      175             }
      176         }
      177     
      >>>     CID 364260:  API usage errors  (PRINTF_ARGS)
      >>>     Argument "buffers.size" to format specifier "%i" was expected to have type "int" but has type "unsigned long".
      178         qd_log(tcp_adaptor->log_source, QD_LOG_DEBUG, "[C%"PRIu64"] Took %i read buffers", conn->conn_id, DEQ_SIZE(buffers));
      179         qd_log(tcp_adaptor->log_source, QD_LOG_DEBUG, "[C%"PRIu64"] Freed %i read buffers", conn->conn_id, free_count);
      180         grant_read_buffers(conn);
      181     
      182         if (conn->instream) {
      183             qd_message_stream_data_append(qdr_delivery_message(conn->instream), &buffers);** CID 364139:  API usage errors  (PRINTF_ARGS)________________________________________________________________________________________________________
      *** CID 364139:  API usage errors  (PRINTF_ARGS)
      /qpid-dispatch/src/adaptors/http_common.c: 626 in _add_http_request_info_CT()
      620                 _free_qdr_http_request_info(update);
      621                 qd_log(qd_log_source(QD_HTTP_LOG_SOURCE), QD_LOG_DEBUG, "Updated http request info %s", record->key);
      622             }
      623         }
      624         if (!updated) {
      625             DEQ_INSERT_TAIL(_get_request_info()->records, update);
      >>>     CID 364139:  API usage errors  (PRINTF_ARGS)
      >>>     Argument "_get_request_info()->records.size" to format specifier "%i" was expected to have type "int" but has type "unsigned long".
      626             qd_log(qd_log_source(QD_HTTP_LOG_SOURCE), QD_LOG_DEBUG, "Added http request info %s (%i)", update->key, DEQ_SIZE(_get_request_info()->records));
      627         }
      628     }
      629     
      630     static void _add_http_request_info(qdr_core_t *core, qdr_http_request_info_t* record)
      631     {** CID 364138:  API usage errors  (PRINTF_ARGS)
      ________________________________________________________________________________________________________
      *** CID 364138:  API usage errors  (PRINTF_ARGS)
      /qpid-dispatch/src/adaptors/tcp_adaptor.c: 1068 in qdr_tcp_deliver()
      1062     
      1063     static uint64_t qdr_tcp_deliver(void *context, qdr_link_t *link, qdr_delivery_t *delivery, bool settled)
      1064     {
      1065         void* link_context = qdr_link_get_context(link);
      1066         if (link_context) {
      1067             qdr_tcp_connection_t* tc = (qdr_tcp_connection_t*) link_context;
      >>>     CID 364138:  API usage errors  (PRINTF_ARGS)
      >>>     Argument "delivery" to format specifier "%lx" was expected to have type "unsigned long" but has type "qdr_delivery_t *".
      1068             qd_log(tcp_adaptor->log_source, QD_LOG_DEBUG, "[C%"PRIu64"][L%"PRIu64"] qdr_tcp_deliver Delivery event dlv:%lx", tc->conn_id, tc->outgoing_id, delivery);
      1069             if (tc->egress_dispatcher) {
      1070                 qd_log(tcp_adaptor->log_source, QD_LOG_DEBUG, "[C%"PRIu64"][L%"PRIu64"] tcp_adaptor initiating egress connection %p", tc->conn_id, tc->outgoing_id, delivery);
      1071                 qdr_tcp_connection_egress(&(tc->config), tc->server, delivery);
      1072                 return QD_DELIVERY_MOVED_TO_NEW_LINK;
      1073             } else if (!tc->outstream) {** CID 363429:  API usage errors  (PRINTF_ARGS)________________________________________________________________________________________________________
      *** CID 363429:  API usage errors  (PRINTF_ARGS)
      /qpid-dispatch/src/adaptors/tcp_adaptor.c: 587 in handle_connection_event()
      581                     written += buffs[i].size;
      582                     if (buffs[i].context) {
      583                         qd_message_stream_data_release((qd_message_stream_data_t*) buffs[i].context);
      584                     }
      585                 }
      586             }
      >>>     CID 363429:  API usage errors  (PRINTF_ARGS)
      >>>     Argument "written" to format specifier "%i" was expected to have type "int" but has type "unsigned long".
      587             qd_log(log, QD_LOG_DEBUG, "[C%"PRIu64"] PN_RAW_CONNECTION_WRITTEN Wrote %i bytes", conn->conn_id, written);
      588             conn->last_out_time = tcp_adaptor->core->uptime_ticks;
      589             conn->bytes_out += written;
      590             while (qdr_connection_process(conn->qdr_conn)) {}
      591             break;
      592         } 

      Attachments

        Activity

          People

            kgiusti Ken Giusti
            gmurthy Ganesh Murthy
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: