mirror of
https://github.com/postgres/postgres.git
synced 2025-05-18 17:41:14 +03:00
Remember to reset yy_start state when firing up repl_scanner.l.
Without this, we get odd behavior when the previous cycle of lexing exited in a non-default exclusive state. Every other copy of this code is aware that it has to do BEGIN(INITIAL), but repl_scanner.l did not get that memo. The real-world impact of this is probably limited, since most replication clients would abandon their connection after getting a syntax error. Still, it's a bug. This mistake is old, so back-patch to all supported branches. Discussion: https://postgr.es/m/1874781.1643035952@sss.pgh.pa.us
This commit is contained in:
parent
0cbc507378
commit
c94c6612da
@ -245,6 +245,9 @@ replication_scanner_init(const char *str)
|
|||||||
memcpy(scanbuf, str, slen);
|
memcpy(scanbuf, str, slen);
|
||||||
scanbuf[slen] = scanbuf[slen + 1] = YY_END_OF_BUFFER_CHAR;
|
scanbuf[slen] = scanbuf[slen + 1] = YY_END_OF_BUFFER_CHAR;
|
||||||
scanbufhandle = yy_scan_buffer(scanbuf, slen + 2);
|
scanbufhandle = yy_scan_buffer(scanbuf, slen + 2);
|
||||||
|
|
||||||
|
/* Make sure we start in proper state */
|
||||||
|
BEGIN(INITIAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user