diff options
-rw-r--r-- | librpc/ndr/uuid.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/librpc/ndr/uuid.c b/librpc/ndr/uuid.c index d46da0993d..33a7eeeb5a 100644 --- a/librpc/ndr/uuid.c +++ b/librpc/ndr/uuid.c @@ -117,12 +117,12 @@ _PUBLIC_ NTSTATUS GUID_from_data_blob(const DATA_BLOB *s, struct GUID *guid) { 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; } - break; + + s = &blob16; + return GUID_from_ndr_blob(s, guid); } case 16: return GUID_from_ndr_blob(s, guid); |