Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit7eb16ab

Browse files
committed
Fix corner-case coredump in _SPI_error_callback().
I noticed that _SPI_execute_plan initially sets spierrcontext.arg = NULL,and only fills it in some time later. If an error were to happen inbetween, _SPI_error_callback would try to dereference the null pointer.This is unlikely --- there's not much between those points exceptpush-snapshot calls --- but it's clearly not impossible. Tweak thecallback to do nothing if the pointer isn't set yet.It's been like this for awhile, so back-patch to all supported branches.
1 parent01a0ca1 commit7eb16ab

File tree

1 file changed

+3
-0
lines changed
  • src/backend/executor

1 file changed

+3
-0
lines changed

‎src/backend/executor/spi.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2367,6 +2367,9 @@ _SPI_error_callback(void *arg)
23672367
constchar*query= (constchar*)arg;
23682368
intsyntaxerrposition;
23692369

2370+
if (query==NULL)/* in case arg wasn't set yet */
2371+
return;
2372+
23702373
/*
23712374
* If there is a syntax error position, convert to internal syntax error;
23722375
* otherwise treat the query as an item of context stack

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp