mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-24 00:03:03 +01:00
Fixed SEGV reported by Konstantin.
This commit is contained in:
parent
1ca308f27b
commit
faa8162a2b
@ -931,13 +931,15 @@ dsql_nod* PASS1_node(dsql_req* request, dsql_nod* input, bool proc_flag)
|
||||
case nod_current_timestamp:
|
||||
{
|
||||
dsql_nod* const_node = input->nod_arg[0];
|
||||
fb_assert(const_node->nod_type == nod_constant);
|
||||
const int precision = (int)(IPTR) const_node->nod_arg[0];
|
||||
fb_assert(precision >= 0);
|
||||
// We pass precision as a single byte, hence a check
|
||||
// to avoid overflows
|
||||
if (precision > MAX_UCHAR) {
|
||||
const_node->nod_arg[0] = (dsql_nod*)(IPTR) MAX_UCHAR;
|
||||
if (const_node) {
|
||||
fb_assert(const_node->nod_type == nod_constant);
|
||||
const int precision = (int)(IPTR) const_node->nod_arg[0];
|
||||
fb_assert(precision >= 0);
|
||||
// We pass precision as a single byte, hence a check
|
||||
// to avoid overflows
|
||||
if (precision > MAX_UCHAR) {
|
||||
const_node->nod_arg[0] = (dsql_nod*)(IPTR) MAX_UCHAR;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user