@@ -182,6 +182,7 @@ void Connection::connectionPropertyException(Connection* njsConn,
182
182
Nan::HandleScope scope;
183
183
184
184
string msg;
185
+
185
186
if (!njsConn->isValid_ )
186
187
msg = NJSMessages::getErrorMsg (errInvalidConnection);
187
188
else
@@ -197,6 +198,7 @@ void Connection::connectionPropertyException(Connection* njsConn,
197
198
NAN_GETTER (Connection::GetStmtCacheSize)
198
199
{
199
200
Connection* njsConn = Nan::ObjectWrap::Unwrap<Connection>(info.Holder ());
201
+ NJS_CHECK_OBJECT_VALID2 ( njsConn, info ) ;
200
202
if (!njsConn->isValid_ )
201
203
{
202
204
string error = NJSMessages::getErrorMsg ( errInvalidConnection );
@@ -224,7 +226,11 @@ NAN_GETTER(Connection::GetStmtCacheSize)
224
226
*/
225
227
NAN_SETTER (Connection::SetStmtCacheSize)
226
228
{
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" );
228
234
}
229
235
230
236
/* ****************************************************************************/
@@ -246,6 +252,8 @@ NAN_GETTER(Connection::GetClientId)
246
252
NAN_SETTER (Connection::SetClientId)
247
253
{
248
254
Connection* njsConn = Nan::ObjectWrap::Unwrap<Connection>(info.Holder ());
255
+ NJS_CHECK_OBJECT_VALID (njsConn) ;
256
+
249
257
if (!njsConn->isValid_ )
250
258
{
251
259
string msg = NJSMessages::getErrorMsg (errInvalidConnection);
@@ -279,6 +287,7 @@ NAN_GETTER(Connection::GetModule)
279
287
NAN_SETTER (Connection::SetModule)
280
288
{
281
289
Connection *njsConn = Nan::ObjectWrap::Unwrap<Connection>(info.Holder ());
290
+ NJS_CHECK_OBJECT_VALID (njsConn ) ;
282
291
if (!njsConn->isValid_ )
283
292
{
284
293
string msg = NJSMessages::getErrorMsg (errInvalidConnection);
@@ -312,6 +321,7 @@ NAN_GETTER(Connection::GetAction)
312
321
NAN_SETTER (Connection::SetAction)
313
322
{
314
323
Connection *njsConn = Nan::ObjectWrap::Unwrap<Connection>(info.Holder ());
324
+ NJS_CHECK_OBJECT_VALID ( njsConn ) ;
315
325
if (!njsConn->isValid_ )
316
326
{
317
327
string msg = NJSMessages::getErrorMsg (errInvalidConnection);
@@ -334,6 +344,7 @@ NAN_GETTER (Connection::GetOracleServerVersion)
334
344
{
335
345
Connection *njsConn = ObjectWrap::Unwrap<Connection>(info.Holder ());
336
346
347
+ NJS_CHECK_OBJECT_VALID2 ( njsConn, info ) ;
337
348
if ( !njsConn->isValid_ )
338
349
{
339
350
string error = NJSMessages::getErrorMsg ( errInvalidConnection );
@@ -379,8 +390,9 @@ NAN_GETTER (Connection::GetOracleServerVersion)
379
390
*/
380
391
NAN_SETTER (Connection::SetOracleServerVersion)
381
392
{
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" );
384
396
}
385
397
386
398
@@ -408,6 +420,8 @@ NAN_METHOD(Connection::Execute)
408
420
NJS_CHECK_NUMBER_OF_ARGS ( executeBaton->error , info, 2 , 4 , exitExecute );
409
421
connection = Nan::ObjectWrap::Unwrap<Connection>(info.This ());
410
422
423
+ NJS_CHECK_OBJECT_VALID3 ( connection, executeBaton->error , exitExecute );
424
+
411
425
if (!connection->isValid_ )
412
426
{
413
427
executeBaton->error = NJSMessages::getErrorMsg ( errInvalidConnection );
@@ -2530,6 +2544,7 @@ NAN_METHOD(Connection::Release)
2530
2544
NJS_CHECK_NUMBER_OF_ARGS ( releaseBaton->error , info, 1 , 1 , exitRelease );
2531
2545
connection = Nan::ObjectWrap::Unwrap<Connection>(info.This ());
2532
2546
2547
+ NJS_CHECK_OBJECT_VALID3 (connection, releaseBaton->error , exitRelease);
2533
2548
if (!connection->isValid_ )
2534
2549
{
2535
2550
releaseBaton->error = NJSMessages::getErrorMsg ( errInvalidConnection );
@@ -2627,6 +2642,7 @@ NAN_METHOD(Connection::Commit)
2627
2642
NJS_CHECK_NUMBER_OF_ARGS ( commitBaton->error , info, 1 , 1 , exitCommit );
2628
2643
connection = Nan::ObjectWrap::Unwrap<Connection>(info.This ());
2629
2644
2645
+ NJS_CHECK_OBJECT_VALID3 ( connection, commitBaton->error , exitCommit );
2630
2646
if (!connection->isValid_ )
2631
2647
{
2632
2648
commitBaton->error = NJSMessages::getErrorMsg ( errInvalidConnection );
@@ -2721,6 +2737,7 @@ NAN_METHOD(Connection::Rollback)
2721
2737
rollbackBaton->cb .Reset ( callback );
2722
2738
NJS_CHECK_NUMBER_OF_ARGS ( rollbackBaton->error , info, 1 , 1 , exitRollback );
2723
2739
connection = Nan::ObjectWrap::Unwrap<Connection>(info.This ());
2740
+ NJS_CHECK_OBJECT_VALID3 ( connection, rollbackBaton->error , exitRollback );
2724
2741
2725
2742
if (!connection->isValid_ )
2726
2743
{
@@ -2815,6 +2832,8 @@ NAN_METHOD(Connection::Break)
2815
2832
NJS_CHECK_NUMBER_OF_ARGS ( breakBaton->error , info, 1 , 1 , exitBreak );
2816
2833
connection = Nan::ObjectWrap::Unwrap<Connection>(info.This ());
2817
2834
2835
+ NJS_CHECK_OBJECT_VALID3 ( connection, breakBaton->error , exitBreak );
2836
+
2818
2837
if (!connection->isValid_ )
2819
2838
{
2820
2839
breakBaton->error = NJSMessages::getErrorMsg ( errInvalidConnection );
@@ -3348,15 +3367,14 @@ v8::Local<v8::Value> Connection::NewLob(eBaton* executeBaton,
3348
3367
{
3349
3368
Nan::EscapableHandleScope scope;
3350
3369
Connection *connection = executeBaton->njsconn ;
3351
- // Handle<Object> jsOracledb = connection->oracledb_->jsOracledb;
3352
3370
Local<Object> jsOracledb = Nan::New<Object>(connection->oracledb_ ->jsOracledb );
3353
3371
Local<Value> argv[1 ];
3354
-
3372
+
3355
3373
Local<Object> iLob = Nan::New<FunctionTemplate>(ILob::iLobTemplate_s)->GetFunction ()->NewInstance ();
3356
3374
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.
3360
3378
3361
3379
(Nan::ObjectWrap::Unwrap<ILob>(iLob))->setILob (executeBaton, protoILob);
3362
3380
@@ -3369,12 +3387,6 @@ v8::Local<v8::Value> Connection::NewLob(eBaton* executeBaton,
3369
3387
Local<Function>::Cast (jsOracledb->Get (Nan::New<v8::String>(" newLob" ).ToLocalChecked ()))->Call (
3370
3388
jsOracledb, 1 , argv);
3371
3389
3372
- // Local<Value> result =
3373
- // Nan::MakeCallback(
3374
- // jsOracledb,
3375
- // Nan::New<v8::String>("newLob").ToLocalChecked(),
3376
- // 1, argv);
3377
-
3378
3390
return scope.Escape (result);
3379
3391
}
3380
3392
@@ -3387,7 +3399,6 @@ v8::Local<v8::Value> Connection::NewLob(eBaton* executeBaton,
3387
3399
3388
3400
PARAMETERS
3389
3401
none
3390
-
3391
3402
RETURNS
3392
3403
A Lob object
3393
3404
@@ -3403,20 +3414,19 @@ v8::Local<v8::Value> Connection::NewLob(eBaton* executeBaton,
3403
3414
3404
3415
NAN_METHOD (Connection::GetLob)
3405
3416
{
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 ());
3410
3418
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 );
3414
3420
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);
3420
3430
3421
3431
info.GetReturnValue ().Set (result);
3422
3432
}
0 commit comments