Use SEH frame when preparing user requests to catch possible stack overflows
| 443 | |
| 444 | // Use SEH frame when preparing user requests to catch possible stack overflows |
| 445 | static DsqlRequest* safePrepareRequest(thread_db* tdbb, dsql_dbb* database, jrd_tra* transaction, |
| 446 | ULONG textLength, const TEXT* text, USHORT clientDialect, bool isInternalRequest) |
| 447 | { |
| 448 | if (isInternalRequest) |
| 449 | return prepareRequest(tdbb, database, transaction, textLength, text, clientDialect, true); |
| 450 | |
| 451 | #ifdef WIN_NT |
| 452 | START_CHECK_FOR_EXCEPTIONS(NULL); |
| 453 | #endif |
| 454 | return prepareRequest(tdbb, database, transaction, textLength, text, clientDialect, false); |
| 455 | |
| 456 | #ifdef WIN_NT |
| 457 | END_CHECK_FOR_EXCEPTIONS(NULL); |
| 458 | #endif |
| 459 | } |
| 460 | |
| 461 | |
| 462 | // Prepare a request for execution. |
no test coverage detected