Re: [HACKERS] Moving tablespaces
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Magnus Hagander <magnus@hagander.net>
Cc: Andrew Dunstan <andrew@dunslane.net>, Bruce Momjian <bruce@momjian.us>, PostgreSQL-documentation <pgsql-docs@postgresql.org>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-12-06T16:07:56Z
Lists: pgsql-hackers
Magnus Hagander <magnus@hagander.net> writes: > There is some nice precedent in the CREATE TABLESPACE command (though > dependent on HAVE_SYMLINK and not HAVE_READLINK), so I'm just going to > copy the error message from there. Fair enough. Looking at the existing readlink use in port/exec.c, it strikes me that another thing you'd better do is include a check for buffer overrun, ie the test needs to be more like rllen = readlink(fname, link_buf, sizeof(link_buf)); if (rllen < 0 || rllen >= sizeof(link_buf)) ... fail ... Also, you're assuming that the result is already null-terminated, which is incorrect. regards, tom lane