skupperproject / skupper-router

An application-layer router for Skupper networks
https://skupper.io
Apache License 2.0
14 stars 18 forks source link

Coverity issue: Dereferencing qd_conn which could be NULL #1534

Closed ganeshmurthy closed 2 months ago

ganeshmurthy commented 3 months ago
418    case PN_CONNECTION_REMOTE_CLOSE :
      2. Condition qd_conn, taking false branch.
      3. var_compare_op: Comparing qd_conn to null implies that qd_conn might be null.
419        if (qd_conn)
420            qd_conn->closed = true;
      4. Condition pn_connection_state(conn) == (34 /* 2 | 0x20 */), taking false branch.
421        if (pn_connection_state(conn) == (PN_LOCAL_ACTIVE | PN_REMOTE_CLOSED)) {
422            close_links(container, conn, false);
423            qd_session_cleanup(qd_conn);
424            pn_connection_close(conn);
      CID 379164:(#1 of 2):Dereference after null check (FORWARD_NULL) [ "select issue" ]
425            qd_conn_event_batch_complete(container, qd_conn, true);
      5. Condition pn_connection_state(conn) == (36 /* 4 | 0x20 */), taking true branch.
426        } else if (pn_connection_state(conn) == (PN_LOCAL_CLOSED | PN_REMOTE_CLOSED)) {
427            close_links(container, conn, false);
428            qd_session_cleanup(qd_conn);

CID 379164: (#2 of 2): Dereference after null check (FORWARD_NULL)
6. var_deref_model: Passing null pointer qd_conn to qd_connection_get_context, which dereferences it.[show details]
429            notify_closed(container, qd_conn, qd_connection_get_context(qd_conn));