[Pkg-clamav-commits] [SCM] Debian repository for ClamAV branch, debian/unstable, updated. debian/0.95+dfsg-1-6156-g094ec9b
Török Edvin
edwin at clamav.net
Sun Apr 4 01:22:03 UTC 2010
The following commit has been merged in the debian/unstable branch:
commit df5c921d3a76e4b52254f9d5d95d384655536202
Author: Török Edvin <edwin at clamav.net>
Date: Sat Mar 6 15:54:14 2010 +0200
READ1,8,16,32,64->READN
diff --git a/libclamav/bytecode_vm.c b/libclamav/bytecode_vm.c
index 0a04352..056bf1d 100644
--- a/libclamav/bytecode_vm.c
+++ b/libclamav/bytecode_vm.c
@@ -256,24 +256,19 @@ static always_inline struct stack_entry *pop_stack(struct stack *stack,
TRACE_W(x, p, PSIZE*8);\
*(void**)&values[p] = x
-#define READ1(x, p) CHECK_GT(func->numBytes, p);\
- x = (*(uint8_t*)&values[p])&1;\
- TRACE_R(x)
-#define READ8(x, p) CHECK_GT(func->numBytes, p);\
- x = *(uint8_t*)&values[p];\
- TRACE_R(x)
-#define READ16(x, p) CHECK_GT(func->numBytes, p+1);\
- CHECK_EQ((p)&1, 0);\
- x = *(uint16_t*)&values[p];\
- TRACE_R(x)
-#define READ32(x, p) CHECK_GT(func->numBytes, p+3);\
- CHECK_EQ((p)&3, 0);\
- x = *(uint32_t*)&values[p];\
- TRACE_R(x)
-#define READ64(x, p) CHECK_GT(func->numBytes, p+7);\
- CHECK_EQ((p)&7, 0);\
- x = *(uint64_t*)&values[p];\
+#define uint_type(n) uint##n##_t
+#define READN(x, n, p)\
+ CHECK_GT(func->numBytes, p+(n/8)-1);\
+ x = *(uint_type(n)*)&values[p];\
TRACE_R(x)
+
+#define READ1(x, p) READN(x, 8, p);\
+ x = x&1
+#define READ8(x, p) READN(x, 8, p)
+#define READ16(x, p) READN(x, 16, p)
+#define READ32(x, p) READN(x, 32, p)
+#define READ64(x, p) READN(x, 64, p)
+
#define PSIZE sizeof(void*)
#define READP(x, p) CHECK_GT(func->numBytes, p+PSIZE-1);\
CHECK_EQ((p)&(PSIZE-1), 0);\
--
Debian repository for ClamAV
More information about the Pkg-clamav-commits
mailing list