Browse Source

Fix memory leak and whitespace

Nate Armstrong 7 years ago
parent
commit
706ed740f4
1 changed files with 7 additions and 6 deletions
  1. 7 6
      Sources/CgRPC/shim/channel.c

+ 7 - 6
Sources/CgRPC/shim/channel.c

@@ -49,14 +49,15 @@ cgrpc_channel *cgrpc_channel_create_secure(const char *address,
   channel_args.args = args;
   channel_args.num_args = num_args;
 
-  grpc_ssl_pem_key_cert_pair *client_credentials = (grpc_ssl_pem_key_cert_pair *) malloc(sizeof (struct grpc_ssl_pem_key_cert_pair));
-  client_credentials->cert_chain = client_certs;
-  client_credentials->private_key = client_private_key;
-  if (client_certs == NULL || client_private_key == NULL) {
-      client_credentials = NULL;
+  grpc_ssl_pem_key_cert_pair client_credentials;
+  grpc_ssl_pem_key_cert_pair *client_credentials_pointer = NULL;
+  if (client_certs != NULL && client_private_key != NULL) {
+    client_credentials.cert_chain = client_certs;
+    client_credentials.private_key = client_private_key;
+    client_credentials_pointer = &client_credentials;
   }
-
   grpc_channel_credentials *creds = grpc_ssl_credentials_create(pem_root_certs, client_credentials, NULL);
+
   c->channel = grpc_secure_channel_create(creds, address, &channel_args, NULL);
   c->completion_queue = grpc_completion_queue_create_for_next(NULL);
   return c;