[SCM] Samba Shared Repository - branch master updated
Simo Sorce
idra at samba.org
Sat Jan 30 00:58:28 MST 2010
The branch, master has been updated
via 772d808... s4:ldb Fix check made conditional by mistake
from df7be03... s4:ldb add support for permissive modify control
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 772d808ac862862330dd792ba8e83ba2b3c785b3
Author: Simo Sorce <idra at samba.org>
Date: Sat Jan 30 02:57:33 2010 -0500
s4:ldb Fix check made conditional by mistake
-----------------------------------------------------------------------
Summary of changes:
source4/lib/ldb/ldb_tdb/ldb_tdb.c | 18 +++++++++++-------
1 files changed, 11 insertions(+), 7 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source4/lib/ldb/ldb_tdb/ldb_tdb.c b/source4/lib/ldb/ldb_tdb/ldb_tdb.c
index 568fc2a..edc0215 100644
--- a/source4/lib/ldb/ldb_tdb/ldb_tdb.c
+++ b/source4/lib/ldb/ldb_tdb/ldb_tdb.c
@@ -659,6 +659,13 @@ int ltdb_modify_internal(struct ldb_module *module,
switch (msg->elements[i].flags & LDB_FLAG_MOD_MASK) {
case LDB_FLAG_MOD_ADD:
+ if (el->num_values == 0) {
+ ldb_asprintf_errstring(ldb, "attribute %s on %s specified, but with 0 values (illigal)",
+ el->name, ldb_dn_get_linearized(msg2->dn));
+ ret = LDB_ERR_CONSTRAINT_VIOLATION;
+ goto done;
+ }
+
/* make a copy of the array so that a permissive
* control can remove duplicates without changing the
* original values, but do not copy data as we do not
@@ -673,16 +680,13 @@ int ltdb_modify_internal(struct ldb_module *module,
el->name = msg->elements[i].name;
el->num_values = msg->elements[i].num_values;
el->values = talloc_array(el, struct ldb_val, el->num_values);
+ if (el->values == NULL) {
+ ret = LDB_ERR_OTHER;
+ goto done;
+ }
for (j = 0; j < el->num_values; j++) {
el->values[j] = msg->elements[i].values[j];
}
-
- if (el->num_values == 0) {
- ldb_asprintf_errstring(ldb, "attribute %s on %s specified, but with 0 values (illigal)",
- el->name, ldb_dn_get_linearized(msg2->dn));
- ret = LDB_ERR_CONSTRAINT_VIOLATION;
- goto done;
- }
}
if (a && a->flags & LDB_ATTR_FLAG_SINGLE_VALUE) {
--
Samba Shared Repository
More information about the samba-cvs
mailing list