diff options
author | Simo Sorce <idra@samba.org> | 2007-05-06 15:17:14 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:52:02 -0500 |
commit | 31d28c5b8cc22fb158a808a1f9d3d0c8ed5d2090 (patch) | |
tree | 65d6f4a5cf93c2db0f7c6c7f9f712d1e5c80d030 /source4/lib/ldb/common/ldb_dn.c | |
parent | d6121458b0b3cfecb857877e0740560f282cbe48 (diff) | |
download | samba-31d28c5b8cc22fb158a808a1f9d3d0c8ed5d2090.tar.gz samba-31d28c5b8cc22fb158a808a1f9d3d0c8ed5d2090.tar.bz2 samba-31d28c5b8cc22fb158a808a1f9d3d0c8ed5d2090.zip |
r22696: Make sure this is an ascii char
spotted by Volker
(This used to be commit e24812016f60f506f0df2cb5ba8c2c6987f7da40)
Diffstat (limited to 'source4/lib/ldb/common/ldb_dn.c')
-rw-r--r-- | source4/lib/ldb/common/ldb_dn.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source4/lib/ldb/common/ldb_dn.c b/source4/lib/ldb/common/ldb_dn.c index ea7c6b5f69..a277c71ba2 100644 --- a/source4/lib/ldb/common/ldb_dn.c +++ b/source4/lib/ldb/common/ldb_dn.c @@ -292,6 +292,12 @@ static bool ldb_dn_explode(struct ldb_dn *dn) /* first char */ trim = false; + if (!isascii(*p)) { + /* attr names must be ascii only */ + dn->invalid = true; + goto failed; + } + if (isdigit(*p)) { is_oid = true; } else @@ -338,6 +344,12 @@ static bool ldb_dn_explode(struct ldb_dn *dn) continue; } + if (!isascii(*p)) { + /* attr names must be ascii only */ + dn->invalid = true; + goto failed; + } + if (is_oid && ( ! (isdigit(*p) || (*p == '.')))) { /* not a digit nor a dot, invalid attribute oid */ dn->invalid = true; |