]> granicus.if.org Git - postgresql/commit
Don't use %s-with-precision format spec to truncate data being displayed
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 18 Jan 2004 02:15:57 +0000 (02:15 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 18 Jan 2004 02:15:57 +0000 (02:15 +0000)
commitab189aaad97b15bf4067154eb49314f1a2d5c756
tree7c1305666da77e4db56561491e4e32d1fe45cd22
parent9933ba3f67d3690b69af7ad65a0e86a09a967b9b
Don't use %s-with-precision format spec to truncate data being displayed
in a COPY error message.  It seems that glibc gets indigestion if it is
asked to truncate strings that contain invalid UTF-8 encoding sequences.
vsnprintf will return -1 in such cases, leading to looping and eventual
memory overflow in elog.c.  Instead use our own, more robust pg_mbcliplen
routine.  I believe this problem accounts for several recent reports of
unexpected 'out of memory' errors during COPY IN.
src/backend/commands/copy.c