Обсуждение: pgsql: Cosmetic improvements in new config_info code.

Поиск
Список
Период
Сортировка

pgsql: Cosmetic improvements in new config_info code.

От
Tom Lane
Дата:
Cosmetic improvements in new config_info code.

Coverity griped about use of unchecked strcpy() into a local variable.
There's unlikely to be any actual bug there, since no caller would be
passing a path longer than MAXPGPATH, but nonetheless use of strlcpy()
seems preferable.

While at it, get rid of unmaintainable separation between list of
field names and list of field values in favor of initializing them
in parallel.  And we might as well declare get_configdata()'s path
argument as const char *, even though no current caller needs that.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/c7a1c5a6b6aa4bbc2c9619edc94368fccc1c8c8e

Modified Files
--------------
src/common/config_info.c         | 176 +++++++++++++++++++--------------------
src/include/common/config_info.h |   2 +-
2 files changed, 89 insertions(+), 89 deletions(-)


Re: pgsql: Cosmetic improvements in new config_info code.

От
Joe Conway
Дата:
On 02/21/2016 08:38 AM, Tom Lane wrote:
> Coverity griped about use of unchecked strcpy() into a local variable.
> There's unlikely to be any actual bug there, since no caller would be
> passing a path longer than MAXPGPATH, but nonetheless use of strlcpy()
> seems preferable.

FWIW, strcpy() was being used in src/bin/pg_config/pg_config.c that I
started with -- does that mean we are not getting Coverity coverage of
src/bin?

> While at it, get rid of unmaintainable separation between list of
> field names and list of field values in favor of initializing them
> in parallel.

I waffled back and forth about doing something similar and apparently
landed on the wrong side of it :-). I'll take a similar tack with the
controldata patch that I'm trying to get over the finish line.

Joe

--
Crunchy Data - http://crunchydata.com
PostgreSQL Support for Secure Enterprises
Consulting, Training, & Open Source Development


Вложения