Ganesh Murthy created DISPATCH-1319:
---------------------------------------
Summary: Coverity issues on master branch
Key: DISPATCH-1319
URL: https://issues.apache.org/jira/browse/DISPATCH-1319
Project: Qpid Dispatch
Issue Type: Bug
Components: Container
Affects Versions: 1.6.0
Reporter: Ganesh Murthy
Assignee: Ganesh Murthy
Fix For: 1.7.0
New defect(s) Reported-by: Coverity Scan
Showing 2 of 2 defect(s)
** CID 337770: Null pointer dereferences (FORWARD_NULL)
________________________________________________________________________________________________________
*** CID 337770: Null pointer dereferences (FORWARD_NULL)
/home/gmurthy/opensource/qpid-dispatch/src/container.c: 313 in close_handler()
307 // Close all links, passing QD_LOST as the reason. These links
are not
308 // being properly 'detached'. They are being orphaned.
309 //
310 if (qd_conn)
311 qd_conn->closed = true;
312 close_links(container, conn, true);
>>> CID 337770: Null pointer dereferences (FORWARD_NULL)
>>> Passing null pointer "qd_conn" to "qd_connection_get_context", which
>>>dereferences it.
313 notify_closed(container, qd_conn,
qd_connection_get_context(qd_conn));
314 return 0;
315 }
316
317
318 static void writable_handler(qd_container_t *container,
pn_connection_t *conn, qd_connection_t* qd_conn)
** CID 337769: (FORWARD_NULL)
________________________________________________________________________________________________________
*** CID 337769: (FORWARD_NULL)
/home/gmurthy/opensource/qpid-dispatch/src/router_core/transfer.c: 738 in
qdr_delivery_unlink_peers_CT()
732 //
733 qdr_delivery_ref_t *peer_ref = DEQ_HEAD(dlv->peers);
734 while (peer_ref && peer_ref->dlv != peer) {
735 peer_ref = DEQ_NEXT(peer_ref);
736 }
737 assert(peer_ref != 0);
>>> CID 337769: (FORWARD_NULL)
>>> Passing null pointer "peer_ref" to "qdr_del_delivery_ref", which
>>>dereferences it.
738 qdr_del_delivery_ref(&dlv->peers, peer_ref);
739 }
740
741 // now drop the peer's reference to dlv
742 //
743 if (peer->peer) {
/home/gmurthy/opensource/qpid-dispatch/src/router_core/transfer.c: 752 in
qdr_delivery_unlink_peers_CT()
746 } else {
747 qdr_delivery_ref_t *peer_ref = DEQ_HEAD(peer->peers);
748 while (peer_ref && peer_ref->dlv != dlv) {
749 peer_ref = DEQ_NEXT(peer_ref);
750 }
751 assert(peer_ref != 0);
>>> CID 337769: (FORWARD_NULL)
>>> Passing null pointer "peer_ref" to "qdr_del_delivery_ref", which
>>>dereferences it.
752 qdr_del_delivery_ref(&peer->peers, peer_ref);
753 }
754
755 qdr_delivery_decref_CT(core, dlv, "qdr_delivery_unlink_peers_CT -
unlinked from peer (delivery)");
756 qdr_delivery_decref_CT(core, peer, "qdr_delivery_unlink_peers_CT -
unlinked from delivery (peer)");
757 }
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]