From 215cc5a9edfbe9b50440266fba72e8f91c64066b Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 10 Dec 2009 14:32:47 +1100 Subject: s4-ldb: use GUID_to_ndr_blob() --- source4/lib/ldb-samba/ldif_handlers.c | 6 ++---- source4/lib/ldb/common/ldb_dn.c | 7 ++++++- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'source4/lib') diff --git a/source4/lib/ldb-samba/ldif_handlers.c b/source4/lib/ldb-samba/ldif_handlers.c index 86bb1a1c7c..27aa749f36 100644 --- a/source4/lib/ldb-samba/ldif_handlers.c +++ b/source4/lib/ldb-samba/ldif_handlers.c @@ -215,16 +215,14 @@ static int ldif_read_objectGUID(struct ldb_context *ldb, void *mem_ctx, { struct GUID guid; NTSTATUS status; - enum ndr_err_code ndr_err; status = GUID_from_data_blob(in, &guid); if (!NT_STATUS_IS_OK(status)) { return -1; } - ndr_err = ndr_push_struct_blob(out, mem_ctx, NULL, &guid, - (ndr_push_flags_fn_t)ndr_push_GUID); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + status = GUID_to_ndr_blob(&guid, mem_ctx, out); + if (!NT_STATUS_IS_OK(status)) { return -1; } return 0; diff --git a/source4/lib/ldb/common/ldb_dn.c b/source4/lib/ldb/common/ldb_dn.c index 3721fa7333..63cec89953 100644 --- a/source4/lib/ldb/common/ldb_dn.c +++ b/source4/lib/ldb/common/ldb_dn.c @@ -232,7 +232,7 @@ static int ldb_dn_escape_internal(char *dst, const char *src, int len) /* any others get \XX form */ unsigned char v; const char *hexbytes = "0123456789ABCDEF"; - v = *(unsigned char *)p; + v = *(const unsigned char *)p; *d++ = '\\'; *d++ = hexbytes[v>>4]; *d++ = hexbytes[v&0xF]; @@ -1901,6 +1901,11 @@ int ldb_dn_set_extended_component(struct ldb_dn *dn, } } + if (val == NULL) { + /* removing a value that doesn't exist is not an error */ + return LDB_SUCCESS; + } + p = dn->ext_components = talloc_realloc(dn, dn->ext_components, -- cgit