From d4c78b66c275700fe7c75180b7febe33eba15e93 Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Sat, 5 Mar 2011 00:03:12 +0300 Subject: ldb:fix control parsing for dirsync --- source4/lib/ldb/common/ldb_controls.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'source4/lib') diff --git a/source4/lib/ldb/common/ldb_controls.c b/source4/lib/ldb/common/ldb_controls.c index 5a86bde211..5048b6deac 100644 --- a/source4/lib/ldb/common/ldb_controls.c +++ b/source4/lib/ldb/common/ldb_controls.c @@ -465,11 +465,12 @@ struct ldb_control *ldb_parse_control_from_string(struct ldb_context *ldb, TALLO struct ldb_dirsync_control *control; const char *p; char cookie[1024]; - int crit, flags, max_attrs, ret; + int crit, max_attrs, ret; + uint32_t flags; cookie[0] = '\0'; p = &(control_strings[sizeof(LDB_CONTROL_DIRSYNC_NAME)]); - ret = sscanf(p, "%d:%d:%d:%1023[^$]", &crit, &flags, &max_attrs, cookie); + ret = sscanf(p, "%d:%u:%d:%1023[^$]", &crit, &flags, &max_attrs, cookie); if ((ret < 3) || (crit < 0) || (crit > 1) || (flags < 0) || (max_attrs < 0)) { error_string = talloc_asprintf(mem_ctx, "invalid dirsync control syntax\n"); -- cgit