Hi, A colleage of me just wrote innocent looking code like char *shardRelationName = pnstrdup(relationName, NAMEDATALEN); which is at the moment wrong if relationName isn't preallocated to NAMEDATALEN size.
/* * pnstrdup * Like pstrdup(), but append null byte to a * not-necessarily-null-terminated input string. */ char * pnstrdup(const char *in, Size len) { char *out = palloc(len + 1); memcpy(out, in, len); out[len] = '\0'; return out; } isn't that a somewhat weird behaviour / implementation? Not really like strndup(), which one might believe to be analoguous... Greetings, Andres Freund -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers