Thread: pgsql: Fix inappropriate uses of atol()
Fix inappropriate uses of atol() Some code using atol() would not work correctly if sizeof(long)==4: - src/bin/pg_basebackup/pg_basebackup.c: Would miscount size of a tablespace over 2 TB. - src/bin/pg_basebackup/streamutil.c: Would truncate a timeline ID beyond INT32_MAX. - src/bin/pg_rewind/libpq_source.c: Would miscount size of files larger than 2 GB (but this currently cannot happen). Replace these with atoll(). In one case, the use of atol() did not result in incorrect behavior but seems inconsistent with related code: - src/interfaces/ecpg/ecpglib/execute.c: Gratuitous, since it processes a value from pg_type.typlen, which is int16. Replace this with atoi(). Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi> Discussion: https://www.postgresql.org/message-id/flat/a52738ad-06bc-4d45-b59f-b38a8a89de49%40eisentraut.org Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/f5a1311fccd2ed24a9fb42aa47a17d1df7126039 Modified Files -------------- src/bin/pg_basebackup/pg_basebackup.c | 2 +- src/bin/pg_basebackup/streamutil.c | 2 +- src/bin/pg_rewind/libpq_source.c | 2 +- src/interfaces/ecpg/ecpglib/execute.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)