> On 3 Jul 2026, at 05:47, Mario González Troncoso <[email protected]> > wrote:
> I've been doing some research about if we could replace strncpy() in > some code. It seems I found one and I'd like your opinion on it to > determine if it's worth the change. > > Basically what I found and IMO it's worth the change is on file xactdesc.c > > diff --git a/src/backend/access/rmgrdesc/xactdesc.c > b/src/backend/access/rmgrdesc/xactdesc.c > index 4f53d3035cc..0f466a4c27c 100644 > --- a/src/backend/access/rmgrdesc/xactdesc.c > +++ b/src/backend/access/rmgrdesc/xactdesc.c > @@ -256,7 +256,7 @@ ParsePrepareRecord(uint8 info, xl_xact_prepare > *xlrec, xl_xact_parsed_prepare *p > parsed->nabortstats = xlrec->nabortstats; > parsed->nmsgs = xlrec->ninvalmsgs; > > - strncpy(parsed->twophase_gid, bufptr, xlrec->gidlen); > + strlcpy(parsed->twophase_gid, bufptr, sizeof(parsed->twophase_gid)); > bufptr += MAXALIGN(xlrec->gidlen); As a general rule it's a good idea to replace strncpy with strlcpy. > The other functions that are inside the file already use strlcpy() so > maybe the use of current strncpy() on xactdesc.c is just code that > comes from the refactor itself. It was introduced in 1eb6d6527aae in twophase.c and then moved to xaxtdesc.c in the above mentioned commit. > I'll send a proper patch once some feedback is received but at least > it's compiling and passing local tests. Sounds good, please send a patch. -- Daniel Gustafsson
