mirror of
https://github.com/postgres/postgres.git
synced 2025-09-06 13:46:51 +03:00
Avoid possible segfault in psql's tab completion.
Fix oversight in bd1276a3c
: the "words_after_create" stanza in
psql_completion() requires previous_words_count > 0, since it uses
prev_wd. This condition was formerly assured by the if-else chain
above it, but no more. If there were no previous words then we'd
dereference an uninitialized pointer, possibly causing a segfault.
Report and patch by Anthonin Bonnefoy.
Discussion: https://postgr.es/m/CAO6_XqrSRE7c_i+D7Hm07K3+6S0jTAmMr60RY41XzaA29Ae5uA@mail.gmail.com
This commit is contained in:
@@ -2024,7 +2024,7 @@ psql_completion(const char *text, int start, int end)
|
|||||||
* check if that was the previous word. If so, execute the query to get a
|
* check if that was the previous word. If so, execute the query to get a
|
||||||
* list of them.
|
* list of them.
|
||||||
*/
|
*/
|
||||||
if (matches == NULL)
|
if (matches == NULL && previous_words_count > 0)
|
||||||
{
|
{
|
||||||
const pgsql_thing_t *wac;
|
const pgsql_thing_t *wac;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user