> On 16 Jun 2025, at 10:14, Evgeniy Gorbanev <gorbanyo...@basealt.ru> wrote:
> In src/bin/pg_dump/compress_zstd.c, the Zstd_read function always > returns true. But if you look at the Zstd_gets and Zstd_getc functions, > where Zstd_read is called via CFH->read_func, it is expected that > the Zstd_read function can also return false. In case of > a read-from-file error, the process is expected to terminate, but > pg_dump will continue the process. > I assume that after checking > if (cnt == 0) > should be > return false; if (cnt == 0) - break; + return false; As cnt is coming from fread() returning false here would be wrong as you cannot from 0 alone know if it's EOF or an error. Instead it needs to inspect the stream with feof() and ferror() to know how to proceed. -- Daniel Gustafsson