aboutsummaryrefslogtreecommitdiff
path: root/src/backend/jit/llvm/llvmjit_inline.cpp
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2022-10-16 11:47:44 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2022-10-16 11:47:44 -0400
commita2acafc7be7a957e72234bb28b83a5e4d2bc019f (patch)
treee2eac7ee2be40c0a31b6e429eda0f5d9d51d9600 /src/backend/jit/llvm/llvmjit_inline.cpp
parentad81292370550d9ce1b395bdd2ec3ba0f81e5c01 (diff)
downloadpostgresql-a2acafc7be7a957e72234bb28b83a5e4d2bc019f.tar.gz
postgresql-a2acafc7be7a957e72234bb28b83a5e4d2bc019f.zip
Use libc's snprintf, not sprintf, for special cases in snprintf.c.
snprintf.c has always fallen back on libc's *printf implementation when printing pointers (%p) and floats. When this code originated, we were still supporting some platforms that lacked native snprintf, so we used sprintf for that. That's not actually unsafe in our usage, but nonetheless builds on macOS are starting to complain about sprintf being unconditionally deprecated; and I wouldn't be surprised if other platforms follow suit. There seems little reason to believe that any platform supporting C99 wouldn't have standards-compliant snprintf, so let's just use that instead to suppress such warnings. Back-patch to v12, which is where we started to require C99. It's also where we started to use our snprintf.c everywhere, so this wouldn't be enough to suppress the warning in older branches anyway --- that is, in older branches these aren't necessarily all our usages of libc's sprintf. It is enough in v12+ because any deprecation annotation attached to libc's sprintf won't apply to pg_sprintf. (Whether all our usages of pg_sprintf are adequately safe is not a matter I intend to address here, but perhaps it could do with some review.) Per report from Andres Freund and local testing. Discussion: https://postgr.es/m/20221015211955.q4cwbsfkyk3c4ty3@awork3.anarazel.de
Diffstat (limited to 'src/backend/jit/llvm/llvmjit_inline.cpp')
0 files changed, 0 insertions, 0 deletions