Free smp object in case of send_smp() failure - it is not on the send list already and not tracked anymore.
Signed-off-by: Sasha Khapyorsky <[email protected]> --- infiniband-diags/libibnetdisc/src/query_smp.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/infiniband-diags/libibnetdisc/src/query_smp.c b/infiniband-diags/libibnetdisc/src/query_smp.c index 08e3ef7..e5a8f06 100644 --- a/infiniband-diags/libibnetdisc/src/query_smp.c +++ b/infiniband-diags/libibnetdisc/src/query_smp.c @@ -96,8 +96,10 @@ static int process_smp_queue(smp_engine_t * engine) if (!smp) return 0; - if ((rc = send_smp(smp, engine->ibmad_port)) != 0) + if ((rc = send_smp(smp, engine->ibmad_port)) != 0) { + free(smp); return rc; + } engine->num_smps_outstanding++; cl_qmap_insert(&engine->smps_on_wire, (uint32_t) smp->rpc.trid, (cl_map_item_t *) smp); -- 1.7.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
