[SCM] Samba Shared Repository - branch v3-4-test updated
Karolin Seeger
kseeger at samba.org
Sun Jul 4 23:36:48 MDT 2010
The branch, v3-4-test has been updated
via 10e34cf... s3-librpc: Fixed GUID_from_data_blob() with length of 32.
from 094e864... s3-printing: Fix Bug #7541, %D in "printer admin" causing smbd crash.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-test
- Log -----------------------------------------------------------------
commit 10e34cff5588b0d6434a093b3ecf90e6ccc1796a
Author: Andreas Schneider <asn at samba.org>
Date: Mon Jun 28 21:00:30 2010 +0200
s3-librpc: Fixed GUID_from_data_blob() with length of 32.
If we hit the case that the blob length is 32. The code goes to the end
of the function and generates a GUID with garbage.
So try to convert the blob to the GUID and return.
Fix bug #7538 (Backport fixes for GUID_from_data_blob).
(cherry picked from commit 3c4353d2aa15db278bb87c949cce2deb3a5072ca)
-----------------------------------------------------------------------
Summary of changes:
librpc/ndr/uuid.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
Changeset truncated at 500 lines:
diff --git a/librpc/ndr/uuid.c b/librpc/ndr/uuid.c
index 2b47246..80c35cd 100644
--- a/librpc/ndr/uuid.c
+++ b/librpc/ndr/uuid.c
@@ -81,11 +81,12 @@ _PUBLIC_ NTSTATUS GUID_from_data_blob(const DATA_BLOB *s, struct GUID *guid)
} else if (s->length == 32) {
size_t rlen = strhex_to_str((char *)blob16.data, blob16.length,
(const char *)s->data, s->length);
- if (rlen == blob16.length) {
- /* goto the ndr_pull_struct_blob() path */
- status = NT_STATUS_OK;
- s = &blob16;
+ if (rlen != blob16.length) {
+ return NT_STATUS_INVALID_PARAMETER;
}
+
+ s = &blob16;
+ return GUID_from_ndr_blob(s, guid);
}
if (s->length == 16) {
--
Samba Shared Repository
More information about the samba-cvs
mailing list