The Samba-Bugzilla – Attachment 5831 Details for
Bug 7538
Backport fixes for GUID_from_data_blob
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
split out a separate GUID_from_ndr_blob() function
0001-librpc-split-out-a-separate-GUID_from_ndr_blob-funct.patch (text/plain), 2.31 KB, created by
Andreas Schneider
on 2010-07-07 03:18:04 UTC
(
hide
)
Description:
split out a separate GUID_from_ndr_blob() function
Filename:
MIME Type:
Creator:
Andreas Schneider
Created:
2010-07-07 03:18:04 UTC
Size:
2.31 KB
patch
obsolete
>From e8aec1001ae45aaeae05845ccb495c029ae42b72 Mon Sep 17 00:00:00 2001 >From: Andrew Tridgell <tridge@samba.org> >Date: Thu, 10 Dec 2009 11:22:20 +1100 >Subject: [PATCH] librpc: split out a separate GUID_from_ndr_blob() function > >This will simplify many of the places that deal with NDR formatted >GUIDs >--- > librpc/ndr/libndr.h | 1 + > librpc/ndr/uuid.c | 35 ++++++++++++++++++++--------------- > 2 files changed, 21 insertions(+), 15 deletions(-) > >diff --git a/librpc/ndr/libndr.h b/librpc/ndr/libndr.h >index ff7c912..203f7bf 100644 >--- a/librpc/ndr/libndr.h >+++ b/librpc/ndr/libndr.h >@@ -543,6 +543,7 @@ enum ndr_err_code ndr_push_charset(struct ndr_push *ndr, int ndr_flags, const ch > > /* GUIDs */ > bool GUID_equal(const struct GUID *u1, const struct GUID *u2); >+NTSTATUS GUID_from_ndr_blob(const DATA_BLOB *b, struct GUID *guid); > NTSTATUS GUID_from_data_blob(const DATA_BLOB *s, struct GUID *guid); > NTSTATUS GUID_from_string(const char *s, struct GUID *guid); > NTSTATUS NS_GUID_from_string(const char *s, struct GUID *guid); >diff --git a/librpc/ndr/uuid.c b/librpc/ndr/uuid.c >index 80c35cd..9289712 100644 >--- a/librpc/ndr/uuid.c >+++ b/librpc/ndr/uuid.c >@@ -25,6 +25,25 @@ > #include "librpc/ndr/libndr.h" > #include "librpc/gen_ndr/ndr_misc.h" > >+ >+/** >+ build a GUID from a NDR data blob >+*/ >+_PUBLIC_ NTSTATUS GUID_from_ndr_blob(const DATA_BLOB *b, struct GUID *guid) >+{ >+ enum ndr_err_code ndr_err; >+ TALLOC_CTX *mem_ctx; >+ >+ mem_ctx = talloc_new(NULL); >+ NT_STATUS_HAVE_NO_MEMORY(mem_ctx); >+ >+ ndr_err = ndr_pull_struct_blob_all(b, mem_ctx, NULL, guid, >+ (ndr_pull_flags_fn_t)ndr_pull_GUID); >+ talloc_free(mem_ctx); >+ return ndr_map_error2ntstatus(ndr_err); >+} >+ >+ > /** > build a GUID from a string > */ >@@ -90,21 +109,7 @@ _PUBLIC_ NTSTATUS GUID_from_data_blob(const DATA_BLOB *s, struct GUID *guid) > } > > if (s->length == 16) { >- enum ndr_err_code ndr_err; >- struct GUID guid2; >- TALLOC_CTX *mem_ctx; >- >- mem_ctx = talloc_new(NULL); >- NT_STATUS_HAVE_NO_MEMORY(mem_ctx); >- >- ndr_err = ndr_pull_struct_blob(s, mem_ctx, NULL, &guid2, >- (ndr_pull_flags_fn_t)ndr_pull_GUID); >- talloc_free(mem_ctx); >- if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { >- return ndr_map_error2ntstatus(ndr_err); >- } >- *guid = guid2; >- return NT_STATUS_OK; >+ return GUID_from_ndr_blob(s, guid); > } > > if (!NT_STATUS_IS_OK(status)) { >-- >1.7.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
gd
:
review+
Actions:
View
Attachments on
bug 7538
:
5815
| 5831