From a624e749114de4b1aeb6452d224e7d13fae6fa40 Mon Sep 17 00:00:00 2001
From: Quanah Gibson-Mount <quanah@openldap.org>
Date: Thu, 10 Jun 2010 21:30:33 +0000
Subject: [PATCH] ITS#6474

---
 CHANGES                        | 1 +
 servers/slapd/back-bdb/dn2id.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/CHANGES b/CHANGES
index 9f0700416c..fb8561152b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,7 @@ OpenLDAP 2.4.23 Engineering
 	Fixed slapd syncrepl rid logging (ITS#6533)
 	Fixed slapd modrdn handling of invalid values (ITS#6570)
 	Fixed slapd-bdb hasSubordinates computation (ITS#6549)
+	Fixed slapd-bdb to use memcpy instead for strcpy (ITS#6474)
 	Fixed slapo-ppolicy to use Debug (ITS#6566)
 	Fixed slapo-rwm to use Debug (ITS#6566)
 	Fixed slapo-sssvlv to use Debug (ITS#6566)
diff --git a/servers/slapd/back-bdb/dn2id.c b/servers/slapd/back-bdb/dn2id.c
index a8e5163817..6e89e61db5 100644
--- a/servers/slapd/back-bdb/dn2id.c
+++ b/servers/slapd/back-bdb/dn2id.c
@@ -680,7 +680,7 @@ hdb_dn2id_delete(
 	d->nrdnlen[0] = (BEI(e)->bei_nrdn.bv_len >> 8) | 0x80;
 	dlen[0] = d->nrdnlen[0];
 	dlen[1] = d->nrdnlen[1];
-	strcpy( d->nrdn, BEI(e)->bei_nrdn.bv_val );
+	memcpy( d->nrdn, BEI(e)->bei_nrdn.bv_val, BEI(e)->bei_nrdn.bv_len+1 );
 	data.data = d;
 
 	rc = db->cursor( db, txn, &cursor, bdb->bi_db_opflags );
-- 
GitLab