mirror of
https://github.com/samba-team/samba.git
synced 2025-02-02 09:47:23 +03:00
idmap_autorid: fix traversal of ranges to correctly exclude mapping records.
When listing all ranges with "net idmap get ranges", the database records of the form "S-1-5-10" --> "GID 100016" were treated here as rangee mapings, resulting in an faulty printout like this: "RANGE 541346119: S-1-5-10". This patch fixes this by adding a filter that checks the size of the value datablob. Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Mon Oct 21 19:48:40 CEST 2013 on sn-devel-104
This commit is contained in:
parent
c6909887c2
commit
d286b17d46
@ -962,6 +962,14 @@ static int idmap_autorid_visit_domain_range(struct db_record *rec,
|
||||
}
|
||||
|
||||
value = dbwrap_record_get_value(rec);
|
||||
|
||||
if (value.dsize != sizeof(uint32_t)) {
|
||||
/* it might be a mapping of a well known sid */
|
||||
DEBUG(10, ("value size %u != sizeof(uint32_t) for sid '%s', "
|
||||
"skipping.\n", (unsigned)value.dsize, vi->domsid));
|
||||
goto done;
|
||||
}
|
||||
|
||||
rangenum = IVAL(value.dptr, 0);
|
||||
|
||||
db = dbwrap_record_get_db(rec);
|
||||
|
Loading…
x
Reference in New Issue
Block a user