-
Notifications
You must be signed in to change notification settings - Fork 370
Open
Description
The WDF_PTR_GET_OFFSET macro definition does not parenthesize its arguments correctly, leading to unexpected operator grouping in expansions. E.g., WDF_PTR_GET_OFFSET(p, q + 1) expands to (size_t) ((((PUCHAR) q) + 1 - ((PUCHAR) p)).
Proposed fix:
diff --git a/src/publicinc/wdf/kmdf/1.33/wdfcore.h b/src/publicinc/wdf/kmdf/1.33/wdfcore.h
index 06993eb..5597cc3 100644
--- a/src/publicinc/wdf/kmdf/1.33/wdfcore.h
+++ b/src/publicinc/wdf/kmdf/1.33/wdfcore.h
@@ -145,7 +145,7 @@ WDF_ALIGN_SIZE_UP(
WDF_PTR_ADD_OFFSET_TYPE(_ptr, _offset, PVOID)
#define WDF_PTR_GET_OFFSET(_base, _addr) \
- (size_t) (((PUCHAR) _addr) - ((PUCHAR) _base))
+ ((size_t) ((PUCHAR) (_addr) - (PUCHAR) (_base)))
#if (OSVER(NTDDI_VERSION) == NTDDI_WIN2K)
//Metadata
Metadata
Assignees
Labels
No labels