diff options
author | Bruce Momjian <bruce@momjian.us> | 2002-08-28 20:46:24 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2002-08-28 20:46:24 +0000 |
commit | 81dfa2ce4328c44201a70a9dc3517bd356698069 (patch) | |
tree | ec11b0649abcb6cd2b3cb6926ff4df21ac1e570d /src/backend/utils/adt | |
parent | f5fea0808f385677dccffa0b4dc0ffe512cb4199 (diff) | |
download | postgresql-81dfa2ce4328c44201a70a9dc3517bd356698069.tar.gz postgresql-81dfa2ce4328c44201a70a9dc3517bd356698069.zip |
backend where a statically sized buffer is written to. Most of these
should be pretty safe in practice, but it's probably better to be safe
than sorry.
I was actually looking for cases where NAMEDATALEN is assumed to be
32, but only found one. That's fixed too, as well as a few bits of
code cleanup.
Neil Conway
Diffstat (limited to 'src/backend/utils/adt')
-rw-r--r-- | src/backend/utils/adt/mac.c | 4 | ||||
-rw-r--r-- | src/backend/utils/adt/tid.c | 4 | ||||
-rw-r--r-- | src/backend/utils/adt/varlena.c | 12 |
3 files changed, 9 insertions, 11 deletions
diff --git a/src/backend/utils/adt/mac.c b/src/backend/utils/adt/mac.c index 832c5cb4f84..c12163921db 100644 --- a/src/backend/utils/adt/mac.c +++ b/src/backend/utils/adt/mac.c @@ -1,7 +1,7 @@ /* * PostgreSQL type definitions for MAC addresses. * - * $Header: /cvsroot/pgsql/src/backend/utils/adt/mac.c,v 1.24 2002/06/17 07:00:26 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/mac.c,v 1.25 2002/08/28 20:46:24 momjian Exp $ */ #include "postgres.h" @@ -80,7 +80,7 @@ macaddr_out(PG_FUNCTION_ARGS) result = (char *) palloc(32); - sprintf(result, "%02x:%02x:%02x:%02x:%02x:%02x", + snprintf(result, 32, "%02x:%02x:%02x:%02x:%02x:%02x", addr->a, addr->b, addr->c, addr->d, addr->e, addr->f); PG_RETURN_CSTRING(result); diff --git a/src/backend/utils/adt/tid.c b/src/backend/utils/adt/tid.c index 5a784a44768..bd642a26e97 100644 --- a/src/backend/utils/adt/tid.c +++ b/src/backend/utils/adt/tid.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/tid.c,v 1.33 2002/08/15 16:36:05 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/tid.c,v 1.34 2002/08/28 20:46:24 momjian Exp $ * * NOTES * input routine largely stolen from boxin(). @@ -101,7 +101,7 @@ tidout(PG_FUNCTION_ARGS) blockNumber = BlockIdGetBlockNumber(blockId); offsetNumber = itemPtr->ip_posid; - sprintf(buf, "(%u,%u)", blockNumber, offsetNumber); + snprintf(buf, sizeof(buf), "(%u,%u)", blockNumber, offsetNumber); PG_RETURN_CSTRING(pstrdup(buf)); } diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c index 9f8a4d563ee..52598aba9e8 100644 --- a/src/backend/utils/adt/varlena.c +++ b/src/backend/utils/adt/varlena.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.88 2002/08/22 03:24:00 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.89 2002/08/28 20:46:24 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1787,12 +1787,11 @@ to_hex32(PG_FUNCTION_ARGS) { static char digits[] = "0123456789abcdef"; char buf[32]; /* bigger than needed, but reasonable */ - char *ptr, - *end; + char *ptr; text *result_text; int32 value = PG_GETARG_INT32(0); - end = ptr = buf + sizeof(buf) - 1; + ptr = buf + sizeof(buf) - 1; *ptr = '\0'; do @@ -1814,12 +1813,11 @@ to_hex64(PG_FUNCTION_ARGS) { static char digits[] = "0123456789abcdef"; char buf[32]; /* bigger than needed, but reasonable */ - char *ptr, - *end; + char *ptr; text *result_text; int64 value = PG_GETARG_INT64(0); - end = ptr = buf + sizeof(buf) - 1; + ptr = buf + sizeof(buf) - 1; *ptr = '\0'; do |