aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmit Kapila <akapila@postgresql.org>2021-07-20 08:15:01 +0530
committerAmit Kapila <akapila@postgresql.org>2021-07-20 08:15:01 +0530
commit01c3adcdd85f1507ef49bdf5430c59925d08de6f (patch)
tree51870d9a89eb498c8dc51c408400008345145b9c
parentdd498998a374b3d2a7f5211504f1f1aa15348cf1 (diff)
downloadpostgresql-01c3adcdd85f1507ef49bdf5430c59925d08de6f.tar.gz
postgresql-01c3adcdd85f1507ef49bdf5430c59925d08de6f.zip
Fix potential buffer overruns in proto.c.
Prevent potential buffer overruns when using strcpy to gid buffer. This has been introduced by commit a8fd13cab0. Reported-by: Tom Lane as per coverity Author: Peter Smith Reviewed-by: Amit Kapila Discussion: https://www.postgresql.org/message-id/161029.1626639923%40sss.pgh.pa.us
-rw-r--r--src/backend/replication/logical/proto.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/backend/replication/logical/proto.c b/src/backend/replication/logical/proto.c
index 13c8c3bd5bb..a2452525299 100644
--- a/src/backend/replication/logical/proto.c
+++ b/src/backend/replication/logical/proto.c
@@ -141,7 +141,7 @@ logicalrep_read_begin_prepare(StringInfo in, LogicalRepPreparedTxnData *begin_da
begin_data->xid = pq_getmsgint(in, 4);
/* read gid (copy it into a pre-allocated buffer) */
- strcpy(begin_data->gid, pq_getmsgstring(in));
+ strlcpy(begin_data->gid, pq_getmsgstring(in), sizeof(begin_data->gid));
}
/*
@@ -198,7 +198,7 @@ logicalrep_read_prepare(StringInfo in, LogicalRepPreparedTxnData *prepare_data)
prepare_data->xid = pq_getmsgint(in, 4);
/* read gid (copy it into a pre-allocated buffer) */
- strcpy(prepare_data->gid, pq_getmsgstring(in));
+ strlcpy(prepare_data->gid, pq_getmsgstring(in), sizeof(prepare_data->gid));
}
/*
@@ -254,7 +254,7 @@ logicalrep_read_commit_prepared(StringInfo in, LogicalRepCommitPreparedTxnData *
prepare_data->xid = pq_getmsgint(in, 4);
/* read gid (copy it into a pre-allocated buffer) */
- strcpy(prepare_data->gid, pq_getmsgstring(in));
+ strlcpy(prepare_data->gid, pq_getmsgstring(in), sizeof(prepare_data->gid));
}
/*
@@ -314,7 +314,7 @@ logicalrep_read_rollback_prepared(StringInfo in,
rollback_data->xid = pq_getmsgint(in, 4);
/* read gid (copy it into a pre-allocated buffer) */
- strcpy(rollback_data->gid, pq_getmsgstring(in));
+ strlcpy(rollback_data->gid, pq_getmsgstring(in), sizeof(rollback_data->gid));
}
/*