Avoid possible segfault in psql's tab completion.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 95eb4cd4ff0648afc32abbfaacc9718f6b91bf7b
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2024-10-10T20:17:38Z
Releases: 18.0
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

Files

PathChange+/−
src/bin/psql/tab-complete.in.c modified +1 −1

Discussion