
|
If you were logged in you would be able to see more operations.
|
|
|
|
Original Estimate:
|
2 hours
|
Remaining Estimate:
|
2 hours
|
Time Spent:
|
Unknown
|
|
Environment:
|
Platform neutral/independent
|
|
Issue Links:
|
Relate
|
|
This issue relate to:
|
|
CORE-1600
Show more detailed error message if T...
|
|
|
|
|
This issue is related to:
|
|
QA-184
Test for CORE-1440
|
|
|
|
|
|
| Resolution Date: |
18/Sep/07
|
|
In tra.cpp:transaction_options() we supposedly parse and validate transaction options given in a TPB. However, we have left alive the old bugs coming from IB for years. Example:
- it's possible to make engine read past the end of the TPB stream (for example, giving a table with length indicator being bigger than the remaining bytes in the TPB stream)
- it's possible to select options that conflict with other related options (for example, rec_version & no_rec_version without read_committed)
- it's possible to select conflicting options inside the same category (for example, both read_committed and snapshot, read_only v/s write right for the txn)
- it's possible to put options that only make sense after a relation, before any relation is specified. They will be ignored silently (for example, isc_tpb_protected)
- it's possible to make the engine read trash for the isc_tpb_lock_timeout tag's numeric parameter.
|
|
Description
|
In tra.cpp:transaction_options() we supposedly parse and validate transaction options given in a TPB. However, we have left alive the old bugs coming from IB for years. Example:
- it's possible to make engine read past the end of the TPB stream (for example, giving a table with length indicator being bigger than the remaining bytes in the TPB stream)
- it's possible to select options that conflict with other related options (for example, rec_version & no_rec_version without read_committed)
- it's possible to select conflicting options inside the same category (for example, both read_committed and snapshot, read_only v/s write right for the txn)
- it's possible to put options that only make sense after a relation, before any relation is specified. They will be ignored silently (for example, isc_tpb_protected)
- it's possible to make the engine read trash for the isc_tpb_lock_timeout tag's numeric parameter.
|
Show » |
|