|  | @@ -83,6 +83,8 @@ void Credentials::Init(Handle<Object> exports) {
 | 
	
		
			
				|  |  |             NanNew<FunctionTemplate>(CreateFake)->GetFunction());
 | 
	
		
			
				|  |  |    ctr->Set(NanNew("createIam"),
 | 
	
		
			
				|  |  |             NanNew<FunctionTemplate>(CreateIam)->GetFunction());
 | 
	
		
			
				|  |  | +  ctr->Set(NanNew("createInsecure"),
 | 
	
		
			
				|  |  | +           NanNew<FunctionTemplate>(CreateIam)->GetFunction());
 | 
	
		
			
				|  |  |    constructor = new NanCallback(ctr);
 | 
	
		
			
				|  |  |    exports->Set(NanNew("Credentials"), ctr);
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -94,9 +96,6 @@ bool Credentials::HasInstance(Handle<Value> val) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Handle<Value> Credentials::WrapStruct(grpc_credentials *credentials) {
 | 
	
		
			
				|  |  |    NanEscapableScope();
 | 
	
		
			
				|  |  | -  if (credentials == NULL) {
 | 
	
		
			
				|  |  | -    return NanEscapeScope(NanNull());
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  |    const int argc = 1;
 | 
	
		
			
				|  |  |    Handle<Value> argv[argc] = {
 | 
	
		
			
				|  |  |      NanNew<External>(reinterpret_cast<void *>(credentials))};
 | 
	
	
		
			
				|  | @@ -130,7 +129,11 @@ NAN_METHOD(Credentials::New) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  NAN_METHOD(Credentials::CreateDefault) {
 | 
	
		
			
				|  |  |    NanScope();
 | 
	
		
			
				|  |  | -  NanReturnValue(WrapStruct(grpc_google_default_credentials_create()));
 | 
	
		
			
				|  |  | +  grpc_credentials *creds = grpc_google_default_credentials_create();
 | 
	
		
			
				|  |  | +  if (creds == NULL) {
 | 
	
		
			
				|  |  | +    NanReturnNull();
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  NanReturnValue(WrapStruct(creds));
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  NAN_METHOD(Credentials::CreateSsl) {
 | 
	
	
		
			
				|  | @@ -154,9 +157,12 @@ NAN_METHOD(Credentials::CreateSsl) {
 | 
	
		
			
				|  |  |      return NanThrowTypeError(
 | 
	
		
			
				|  |  |          "createSSl's third argument must be a Buffer if provided");
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  NanReturnValue(WrapStruct(grpc_ssl_credentials_create(
 | 
	
		
			
				|  |  | -      root_certs, key_cert_pair.private_key == NULL ? NULL : &key_cert_pair)));
 | 
	
		
			
				|  |  | +  grpc_credentials *creds = grpc_ssl_credentials_create(
 | 
	
		
			
				|  |  | +      root_certs, key_cert_pair.private_key == NULL ? NULL : &key_cert_pair);
 | 
	
		
			
				|  |  | +  if (creds == NULL) {
 | 
	
		
			
				|  |  | +    NanReturnNull();
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  NanReturnValue(WrapStruct(creds));
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  NAN_METHOD(Credentials::CreateComposite) {
 | 
	
	
		
			
				|  | @@ -171,13 +177,21 @@ NAN_METHOD(Credentials::CreateComposite) {
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    Credentials *creds1 = ObjectWrap::Unwrap<Credentials>(args[0]->ToObject());
 | 
	
		
			
				|  |  |    Credentials *creds2 = ObjectWrap::Unwrap<Credentials>(args[1]->ToObject());
 | 
	
		
			
				|  |  | -  NanReturnValue(WrapStruct(grpc_composite_credentials_create(
 | 
	
		
			
				|  |  | -      creds1->wrapped_credentials, creds2->wrapped_credentials)));
 | 
	
		
			
				|  |  | +  grpc_credentials *creds = grpc_composite_credentials_create(
 | 
	
		
			
				|  |  | +      creds1->wrapped_credentials, creds2->wrapped_credentials);
 | 
	
		
			
				|  |  | +  if (creds == NULL) {
 | 
	
		
			
				|  |  | +    NanReturnNull();
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  NanReturnValue(WrapStruct(creds));
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  NAN_METHOD(Credentials::CreateGce) {
 | 
	
		
			
				|  |  |    NanScope();
 | 
	
		
			
				|  |  | -  NanReturnValue(WrapStruct(grpc_compute_engine_credentials_create()));
 | 
	
		
			
				|  |  | +  grpc_credentials *creds = grpc_compute_engine_credentials_create();
 | 
	
		
			
				|  |  | +  if (creds == NULL) {
 | 
	
		
			
				|  |  | +    NanReturnNull();
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  NanReturnValue(WrapStruct(creds));
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  NAN_METHOD(Credentials::CreateFake) {
 | 
	
	
		
			
				|  | @@ -195,8 +209,17 @@ NAN_METHOD(Credentials::CreateIam) {
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    NanUtf8String auth_token(args[0]);
 | 
	
		
			
				|  |  |    NanUtf8String auth_selector(args[1]);
 | 
	
		
			
				|  |  | -  NanReturnValue(
 | 
	
		
			
				|  |  | -      WrapStruct(grpc_iam_credentials_create(*auth_token, *auth_selector)));
 | 
	
		
			
				|  |  | +  grpc_credentisl *creds = grpc_iam_credentials_create(*auth_token,
 | 
	
		
			
				|  |  | +                                                       *auth_selector);
 | 
	
		
			
				|  |  | +  if (creds == NULL) {
 | 
	
		
			
				|  |  | +    NanReturnNull();
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  NanReturnValue(WrapStruct(creds));
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +NAN_METHOD(Credentials::CreateInsecure) {
 | 
	
		
			
				|  |  | +  NanScope();
 | 
	
		
			
				|  |  | +  NanReturnValue(WrapStruct(NULL));
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  }  // namespace node
 |