]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
libibverbs
authorshefty <shefty@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Mon, 28 Sep 2009 05:15:34 +0000 (05:15 +0000)
committershefty <shefty@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Mon, 28 Sep 2009 05:15:34 +0000 (05:15 +0000)
Free MR structure when deregistering.  Fixes a small (about 8 bytes) memory
leak.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2468 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

branches/WOF2-1/ulp/libibverbs/src/verbs.cpp

index e577733c82b6c489783fdb8fa233b6d778fec54f..849f8aeb35e0cad558a9308b929735fb1236bd9b 100644 (file)
@@ -305,7 +305,13 @@ struct ibv_mr *ibv_reg_mr(struct ibv_pd *pd, void *addr,
 __declspec(dllexport)\r
 int ibv_dereg_mr(struct ibv_mr *mr)\r
 {\r
-       return mr->pd->handle->DeregisterMemory(mr->lkey, NULL);\r
+       HRESULT hr;\r
+\r
+       hr = mr->pd->handle->DeregisterMemory(mr->lkey, NULL);\r
+       if (SUCCEEDED(hr)) {\r
+               delete mr;\r
+       }\r
+       return hr;\r
 }\r
 \r
 __declspec(dllexport)\r