Clean up recent Coverity complaints.
Commit5c649fe15
introduced a memory leak into pg_basebackup's parse_compress_options. (I simplified nearby code while at it.) Commit9a974cbcb
introduced a memory leak into pg_dump's binary_upgrade_set_pg_class_oids. Coverity also complained about a call of SnapBuildProcessChange that ignored the result, unlike every other call of that function. This is evidently intentional, so add a (void) cast to indicate that. (It's also old, dating to b89e15105; I suppose the reason it showed up now is 7a5f6b474's recent rearrangement of nearby code.)
This commit is contained in:
parent
dc43fc9b3a
commit
353708e1fb
|
@ -498,7 +498,7 @@ heap_decode(LogicalDecodingContext *ctx, XLogRecordBuffer *buf)
|
||||||
if (!TransactionIdIsValid(xid))
|
if (!TransactionIdIsValid(xid))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
SnapBuildProcessChange(builder, xid, buf->origptr);
|
(void) SnapBuildProcessChange(builder, xid, buf->origptr);
|
||||||
ReorderBufferXidSetCatalogChanges(ctx->reorder, xid, buf->origptr);
|
ReorderBufferXidSetCatalogChanges(ctx->reorder, xid, buf->origptr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -948,7 +948,7 @@ parse_compress_options(char *src, WalCompressionMethod *methodres,
|
||||||
{
|
{
|
||||||
char *sep;
|
char *sep;
|
||||||
int firstlen;
|
int firstlen;
|
||||||
char *firstpart = NULL;
|
char *firstpart;
|
||||||
|
|
||||||
/* check if the option is split in two */
|
/* check if the option is split in two */
|
||||||
sep = strchr(src, ':');
|
sep = strchr(src, ':');
|
||||||
|
@ -959,7 +959,7 @@ parse_compress_options(char *src, WalCompressionMethod *methodres,
|
||||||
*/
|
*/
|
||||||
firstlen = (sep != NULL) ? (sep - src) : strlen(src);
|
firstlen = (sep != NULL) ? (sep - src) : strlen(src);
|
||||||
firstpart = pg_malloc(firstlen + 1);
|
firstpart = pg_malloc(firstlen + 1);
|
||||||
strncpy(firstpart, src, firstlen);
|
memcpy(firstpart, src, firstlen);
|
||||||
firstpart[firstlen] = '\0';
|
firstpart[firstlen] = '\0';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -983,6 +983,8 @@ parse_compress_options(char *src, WalCompressionMethod *methodres,
|
||||||
|
|
||||||
*methodres = (*levelres > 0) ?
|
*methodres = (*levelres > 0) ?
|
||||||
COMPRESSION_GZIP : COMPRESSION_NONE;
|
COMPRESSION_GZIP : COMPRESSION_NONE;
|
||||||
|
|
||||||
|
free(firstpart);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -992,6 +994,7 @@ parse_compress_options(char *src, WalCompressionMethod *methodres,
|
||||||
* The caller specified a method without a colon separator, so let any
|
* The caller specified a method without a colon separator, so let any
|
||||||
* subsequent checks assign a default level.
|
* subsequent checks assign a default level.
|
||||||
*/
|
*/
|
||||||
|
free(firstpart);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1010,6 +1013,8 @@ parse_compress_options(char *src, WalCompressionMethod *methodres,
|
||||||
if (!option_parse_int(sep, "-Z/--compress", 0, INT_MAX,
|
if (!option_parse_int(sep, "-Z/--compress", 0, INT_MAX,
|
||||||
levelres))
|
levelres))
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
||||||
|
free(firstpart);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -4714,7 +4714,6 @@ binary_upgrade_set_pg_class_oids(Archive *fout,
|
||||||
}
|
}
|
||||||
|
|
||||||
PQclear(upgrade_res);
|
PQclear(upgrade_res);
|
||||||
destroyPQExpBuffer(upgrade_query);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -4728,6 +4727,8 @@ binary_upgrade_set_pg_class_oids(Archive *fout,
|
||||||
}
|
}
|
||||||
|
|
||||||
appendPQExpBufferChar(upgrade_buffer, '\n');
|
appendPQExpBufferChar(upgrade_buffer, '\n');
|
||||||
|
|
||||||
|
destroyPQExpBuffer(upgrade_query);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue