@@ -182,6 +182,7 @@ void Connection::connectionPropertyException(Connection* njsConn,
182182 Nan::HandleScope scope;
183183
184184 string msg;
185+
185186 if (!njsConn->isValid_ )
186187 msg = NJSMessages::getErrorMsg (errInvalidConnection);
187188 else
@@ -197,6 +198,7 @@ void Connection::connectionPropertyException(Connection* njsConn,
197198NAN_GETTER (Connection::GetStmtCacheSize)
198199{
199200 Connection* njsConn = Nan::ObjectWrap::Unwrap<Connection>(info.Holder ());
201+ NJS_CHECK_OBJECT_VALID2 ( njsConn, info ) ;
200202 if (!njsConn->isValid_ )
201203 {
202204 string error = NJSMessages::getErrorMsg ( errInvalidConnection );
@@ -224,7 +226,11 @@ NAN_GETTER(Connection::GetStmtCacheSize)
224226*/
225227NAN_SETTER (Connection::SetStmtCacheSize)
226228{
227- connectionPropertyException (Nan::ObjectWrap::Unwrap<Connection>(info.Holder ()), errReadOnly, " stmtCacheSize" );
229+ Connection *connection = Nan::ObjectWrap::Unwrap<Connection>(info.Holder ());
230+
231+ NJS_CHECK_OBJECT_VALID ( connection );
232+
233+ connectionPropertyException (connection, errReadOnly, " stmtCacheSize" );
228234}
229235
230236/* ****************************************************************************/
@@ -246,6 +252,8 @@ NAN_GETTER(Connection::GetClientId)
246252NAN_SETTER (Connection::SetClientId)
247253{
248254 Connection* njsConn = Nan::ObjectWrap::Unwrap<Connection>(info.Holder ());
255+ NJS_CHECK_OBJECT_VALID (njsConn) ;
256+
249257 if (!njsConn->isValid_ )
250258 {
251259 string msg = NJSMessages::getErrorMsg (errInvalidConnection);
@@ -279,6 +287,7 @@ NAN_GETTER(Connection::GetModule)
279287NAN_SETTER (Connection::SetModule)
280288{
281289 Connection *njsConn = Nan::ObjectWrap::Unwrap<Connection>(info.Holder ());
290+ NJS_CHECK_OBJECT_VALID (njsConn ) ;
282291 if (!njsConn->isValid_ )
283292 {
284293 string msg = NJSMessages::getErrorMsg (errInvalidConnection);
@@ -312,6 +321,7 @@ NAN_GETTER(Connection::GetAction)
312321NAN_SETTER (Connection::SetAction)
313322{
314323 Connection *njsConn = Nan::ObjectWrap::Unwrap<Connection>(info.Holder ());
324+ NJS_CHECK_OBJECT_VALID ( njsConn ) ;
315325 if (!njsConn->isValid_ )
316326 {
317327 string msg = NJSMessages::getErrorMsg (errInvalidConnection);
@@ -334,6 +344,7 @@ NAN_GETTER (Connection::GetOracleServerVersion)
334344{
335345 Connection *njsConn = ObjectWrap::Unwrap<Connection>(info.Holder ());
336346
347+ NJS_CHECK_OBJECT_VALID2 ( njsConn, info ) ;
337348 if ( !njsConn->isValid_ )
338349 {
339350 string error = NJSMessages::getErrorMsg ( errInvalidConnection );
@@ -379,8 +390,9 @@ NAN_GETTER (Connection::GetOracleServerVersion)
379390*/
380391NAN_SETTER (Connection::SetOracleServerVersion)
381392{
382- connectionPropertyException (ObjectWrap::Unwrap<Connection>(info.Holder ()),
383- errReadOnly, " oracleServerVersion" );
393+ Connection *connection = Nan::ObjectWrap::Unwrap<Connection>(info.Holder ());
394+ NJS_CHECK_OBJECT_VALID (connection);
395+ connectionPropertyException (connection, errReadOnly, " oracleServerVersion" );
384396}
385397
386398
@@ -408,6 +420,8 @@ NAN_METHOD(Connection::Execute)
408420 NJS_CHECK_NUMBER_OF_ARGS ( executeBaton->error , info, 2 , 4 , exitExecute );
409421 connection = Nan::ObjectWrap::Unwrap<Connection>(info.This ());
410422
423+ NJS_CHECK_OBJECT_VALID3 ( connection, executeBaton->error , exitExecute );
424+
411425 if (!connection->isValid_ )
412426 {
413427 executeBaton->error = NJSMessages::getErrorMsg ( errInvalidConnection );
@@ -2530,6 +2544,7 @@ NAN_METHOD(Connection::Release)
25302544 NJS_CHECK_NUMBER_OF_ARGS ( releaseBaton->error , info, 1 , 1 , exitRelease );
25312545 connection = Nan::ObjectWrap::Unwrap<Connection>(info.This ());
25322546
2547+ NJS_CHECK_OBJECT_VALID3 (connection, releaseBaton->error , exitRelease);
25332548 if (!connection->isValid_ )
25342549 {
25352550 releaseBaton->error = NJSMessages::getErrorMsg ( errInvalidConnection );
@@ -2627,6 +2642,7 @@ NAN_METHOD(Connection::Commit)
26272642 NJS_CHECK_NUMBER_OF_ARGS ( commitBaton->error , info, 1 , 1 , exitCommit );
26282643 connection = Nan::ObjectWrap::Unwrap<Connection>(info.This ());
26292644
2645+ NJS_CHECK_OBJECT_VALID3 ( connection, commitBaton->error , exitCommit );
26302646 if (!connection->isValid_ )
26312647 {
26322648 commitBaton->error = NJSMessages::getErrorMsg ( errInvalidConnection );
@@ -2721,6 +2737,7 @@ NAN_METHOD(Connection::Rollback)
27212737 rollbackBaton->cb .Reset ( callback );
27222738 NJS_CHECK_NUMBER_OF_ARGS ( rollbackBaton->error , info, 1 , 1 , exitRollback );
27232739 connection = Nan::ObjectWrap::Unwrap<Connection>(info.This ());
2740+ NJS_CHECK_OBJECT_VALID3 ( connection, rollbackBaton->error , exitRollback );
27242741
27252742 if (!connection->isValid_ )
27262743 {
@@ -2815,6 +2832,8 @@ NAN_METHOD(Connection::Break)
28152832 NJS_CHECK_NUMBER_OF_ARGS ( breakBaton->error , info, 1 , 1 , exitBreak );
28162833 connection = Nan::ObjectWrap::Unwrap<Connection>(info.This ());
28172834
2835+ NJS_CHECK_OBJECT_VALID3 ( connection, breakBaton->error , exitBreak );
2836+
28182837 if (!connection->isValid_ )
28192838 {
28202839 breakBaton->error = NJSMessages::getErrorMsg ( errInvalidConnection );
@@ -3348,15 +3367,14 @@ v8::Local<v8::Value> Connection::NewLob(eBaton* executeBaton,
33483367{
33493368 Nan::EscapableHandleScope scope;
33503369 Connection *connection = executeBaton->njsconn ;
3351- // Handle<Object> jsOracledb = connection->oracledb_->jsOracledb;
33523370 Local<Object> jsOracledb = Nan::New<Object>(connection->oracledb_ ->jsOracledb );
33533371 Local<Value> argv[1 ];
3354-
3372+
33553373 Local<Object> iLob = Nan::New<FunctionTemplate>(ILob::iLobTemplate_s)->GetFunction ()->NewInstance ();
33563374
3357- // the ownership of all handles in the ProtoILob are transferred to ILob
3358- // here. Any error in initialization of ILob will cleanup the OCI
3359- // handles in the ILob cleanup routine.
3375+ // the ownership of all handles in the ProtoILob are transferred to ILob
3376+ // here. Any error in initialization of ILob will cleanup the OCI
3377+ // handles in the ILob cleanup routine.
33603378
33613379 (Nan::ObjectWrap::Unwrap<ILob>(iLob))->setILob (executeBaton, protoILob);
33623380
@@ -3369,12 +3387,6 @@ v8::Local<v8::Value> Connection::NewLob(eBaton* executeBaton,
33693387 Local<Function>::Cast (jsOracledb->Get (Nan::New<v8::String>(" newLob" ).ToLocalChecked ()))->Call (
33703388 jsOracledb, 1 , argv);
33713389
3372- // Local<Value> result =
3373- // Nan::MakeCallback(
3374- // jsOracledb,
3375- // Nan::New<v8::String>("newLob").ToLocalChecked(),
3376- // 1, argv);
3377-
33783390 return scope.Escape (result);
33793391}
33803392
@@ -3387,7 +3399,6 @@ v8::Local<v8::Value> Connection::NewLob(eBaton* executeBaton,
33873399
33883400 PARAMETERS
33893401 none
3390-
33913402 RETURNS
33923403 A Lob object
33933404
@@ -3403,20 +3414,19 @@ v8::Local<v8::Value> Connection::NewLob(eBaton* executeBaton,
34033414
34043415NAN_METHOD (Connection::GetLob)
34053416{
3406- Connection *connection = Nan::ObjectWrap::Unwrap<Connection>(info.This ());
3407- // Handle<Object> jsOracledb = connection->oracledb_->jsOracledb;
3408- Local<Object> jsOracledb = Nan::New<Object>(connection->oracledb_ ->jsOracledb );
3409- Local<Value> argv[1 ];
3417+ Connection *connection = Nan::ObjectWrap::Unwrap<Connection>(info.This ());
34103418
3411- Local<Value> result =
3412- Local<Function>::Cast (jsOracledb->Get (Nan::New<v8::String>(" newLob" ).ToLocalChecked ()))->Call (
3413- jsOracledb, 1 , argv);
3419+ NJS_CHECK_OBJECT_VALID2 ( connection, info );
34143420
3415- // Local<Value> result =
3416- // Nan::MakeCallback(
3417- // jsOracledb,
3418- // Nan::New<v8::String>("newLob").ToLocalChecked(),
3419- // 1, argv);
3421+ Local<Object> jsOracledb = Nan::New<Object>(
3422+ connection->oracledb_ ->jsOracledb );
3423+ Local<Value> argv[1 ];
3424+
3425+ Local<Value> result = Local<Function>::Cast (
3426+ jsOracledb->Get (
3427+ Nan::New<v8::String>(
3428+ " newLob" ).ToLocalChecked ()))->Call (
3429+ jsOracledb, 1 , argv);
34203430
34213431 info.GetReturnValue ().Set (result);
34223432}
0 commit comments