Fix unsafe extraction of the OID part of a relation filename.
Commit 8694cc96b did this randomly differently from other callers of parse_filename_for_nontemp_relation(). Perhaps unsurprisingly, the randomly different way is wrong; it fails to ensure the extracted string is null-terminated. Per buildfarm member skink. Discussion: https://postgr.es/m/14453.1522001792@sss.pgh.pa.us
This commit is contained in:
parent
bf4a8676c3
commit
d0c0c89453
@ -1056,7 +1056,8 @@ sendDir(const char *path, int basepathlen, bool sizeonly, List *tablespaces,
|
||||
* If any other type of fork, check if there is an init fork
|
||||
* with the same OID. If so, the file can be excluded.
|
||||
*/
|
||||
strncpy(relOid, de->d_name, relOidChars);
|
||||
memcpy(relOid, de->d_name, relOidChars);
|
||||
relOid[relOidChars] = '\0';
|
||||
snprintf(initForkFile, sizeof(initForkFile), "%s/%s_init",
|
||||
path, relOid);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user