Fix memory leak in new GUC check_hook

Commit 38e0190ced71 forgot to pfree() an allocation (freed in other
places of the same function) in only one of several spots in
check_log_min_messages().  Per Coverity.  Add that.

While at it, avoid open-coding guc_strdup().  The new coding does a
strlen() that wasn't there before, but I doubt it's measurable.
This commit is contained in:
Álvaro Herrera
2026-02-17 16:38:24 +01:00
parent a92b809f9d
commit 661237056b

View File

@ -2363,11 +2363,12 @@ lmm_fail:
appendStringInfo(&buf, ", %s", elem);
}
result = (char *) guc_malloc(LOG, buf.len + 1);
result = guc_strdup(LOG, buf.data);
if (!result)
{
pfree(buf.data);
return false;
memcpy(result, buf.data, buf.len);
result[buf.len] = '\0';
}
guc_free(*newval);
*newval = result;