diff options
author | Andrew Bartlett <abartlet@samba.org> | 2016-01-04 12:13:40 +1300 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2016-01-06 00:33:21 +0100 |
commit | a44e4e932347c4c73bfcd9ee227a5105b5db09f2 (patch) | |
tree | afee22ec927b0bb169b09ade2a3ced2753c80f5f | |
parent | 30e92d0a325d3829fa90d19e1b7af35a3db859f1 (diff) | |
download | samba-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.c | 8 |
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; |