mirror of
https://github.com/postgres/postgres.git
synced 2025-04-24 10:47:04 +03:00
Avoid out-of-bounds read in errfinish if error_stack_depth < 0.
If errordata_stack_depth < 0, we won't find that out and correct the problem until CHECK_STACK_DEPTH() is invoked. In the meantime, elevel will be set based on an invalid read. This is probably harmless in practice, but it seems cleaner this way. Xi Wang
This commit is contained in:
parent
3e3520cf7a
commit
9d140f7be2
@ -397,12 +397,13 @@ void
|
||||
errfinish(int dummy,...)
|
||||
{
|
||||
ErrorData *edata = &errordata[errordata_stack_depth];
|
||||
int elevel = edata->elevel;
|
||||
int elevel;
|
||||
MemoryContext oldcontext;
|
||||
ErrorContextCallback *econtext;
|
||||
|
||||
recursion_depth++;
|
||||
CHECK_STACK_DEPTH();
|
||||
elevel = edata->elevel;
|
||||
|
||||
/*
|
||||
* Do processing in ErrorContext, which we hope has enough reserved space
|
||||
|
Loading…
x
Reference in New Issue
Block a user