summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2016-01-04 12:13:40 +1300
committerAndrew Bartlett <abartlet@samba.org>2016-01-06 00:33:21 +0100
commita44e4e932347c4c73bfcd9ee227a5105b5db09f2 (patch)
treeafee22ec927b0bb169b09ade2a3ced2753c80f5f
parent30e92d0a325d3829fa90d19e1b7af35a3db859f1 (diff)
downloadsamba-a44e4e932347c4c73bfcd9ee227a5105b5db09f2.tar.gz
ldb: validate ldb_dn_set_component input parameters even more strictly
Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Jelmer Vernooij <jelmer@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Wed Jan 6 00:33:21 CET 2016 on sn-devel-144
-rw-r--r--lib/ldb/common/ldb_dn.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/ldb/common/ldb_dn.c b/lib/ldb/common/ldb_dn.c
index a912fdb2a73..5bf72ac2f6b 100644
--- a/lib/ldb/common/ldb_dn.c
+++ b/lib/ldb/common/ldb_dn.c
@@ -1912,6 +1912,14 @@ int ldb_dn_set_component(struct ldb_dn *dn, int num,
return LDB_ERR_OTHER;
}
+ if (num < 0) {
+ return LDB_ERR_OTHER;
+ }
+
+ if (v.length > v.length + 1) {
+ return LDB_ERR_OTHER;
+ }
+
n = talloc_strdup(dn, name);
if ( ! n) {
return LDB_ERR_OTHER;