Hi hackers,

I noticed a few places in ecpg that use strncpy() even though the code already
knows how many bytes to copy.

For example, some paths copy N bytes into a temporary buffer and then add the
terminating NUL explicitly.  There is also one small substring copy in
pgtypeslib/datetime.c.  memcpy() seems a better fit for those cases.

I did not try to replace all strncpy() calls in ecpg.  Some of them still need
the usual strncpy() behavior when the source string may be shorter than the
destination.

The patch also adds a small regression test for fixed-size char[] and VARCHAR
output around the exact-fit/truncation boundary.

Thanks,
Haibo

Attachment: 0001-ecpg-use-memcpy-for-selected-length-based-buffer-cop.patch
Description: Binary data

Reply via email to