Re: Fix inappropriate uses of atol()
От | Peter Eisentraut |
---|---|
Тема | Re: Fix inappropriate uses of atol() |
Дата | |
Msg-id | 56e97e55-a932-428e-aad0-9922c1befa14@eisentraut.org обсуждение исходный текст |
Ответ на | Re: Fix inappropriate uses of atol() (Heikki Linnakangas <hlinnaka@iki.fi>) |
Список | pgsql-hackers |
On 03.08.24 16:07, Heikki Linnakangas wrote: > On 03/08/2024 14:04, Peter Eisentraut wrote: >> I noticed (during [0]) to some uses of the function atol() seem >> inappropriate. Either they assume that sizeof(long)==8 and so might >> truncate data if not, or they are gratuitous because the surrounding >> code does not use the long type. This patch fixes these, by using >> atoll() or atoi() instead. (There are still some atol() calls left >> after this, which seemed ok to me.) >> >> In the past, Windows didn't have atoll(), but the online documentation >> appears to indicate that this now works in VS 2015 and later, which is >> what we support at the moment. The Cirrus CI passes. > +1 except for this one: > >> diff --git a/src/interfaces/ecpg/preproc/ecpg.trailer >> b/src/interfaces/ecpg/preproc/ecpg.trailer >> index b2aa44f36dd..8ac1c5c9eda 100644 >> --- a/src/interfaces/ecpg/preproc/ecpg.trailer >> +++ b/src/interfaces/ecpg/preproc/ecpg.trailer >> @@ -217,7 +217,7 @@ char_variable: cvariable >> enum ECPGttype type = p->type->type; >> >> /* If we have just one character this is not a string */ >> - if (atol(p->type->size) == 1) >> + if (atoi(p->type->size) == 1) >> mmerror(PARSE_ERROR, ET_ERROR, "invalid data type"); >> else >> { I committed it without this hunk.
В списке pgsql-hackers по дате отправления: