]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crypto: fix nss related leak
authorYehuda Sadeh <yehuda@inktank.com>
Tue, 20 Nov 2012 23:30:37 +0000 (15:30 -0800)
committerYehuda Sadeh <yehuda@inktank.com>
Wed, 21 Nov 2012 20:08:58 +0000 (12:08 -0800)
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
src/auth/Crypto.cc
src/rgw/rgw_main.cc

index 77c959fba92862fb2ed0973dbeae827ff30018de..1bfc2814f4f2427b50d02d5a6484a81fef67de8a 100644 (file)
@@ -191,9 +191,13 @@ static void nss_aes_operation(CK_ATTRIBUTE_TYPE op, const bufferptr& secret,
     goto err_op;
   }
 
-  PK11_DestroyContext(ctx, PR_TRUE);
   out_tmp.set_length(written + written2);
   out.append(out_tmp);
+
+  PK11_DestroyContext(ctx, PR_TRUE);
+  SECITEM_FreeItem(param, PR_TRUE);
+  PK11_FreeSymKey(key);
+  PK11_FreeSlot(slot);
   return;
 
  err_op:
index 944b59a5c8d193eac4a913e806af4126e4d5d147..bdcee9d11ac8d79db4f07a4640d9aa1550436009 100644 (file)
@@ -500,6 +500,9 @@ int main(int argc, const char **argv)
 
   RGWStoreManager::close_storage(store);
 
+  curl_global_cleanup();
+  g_ceph_context->put();
+
   return 0;
 }