[PATCH 2/5] vcruntime140_1: Change pointer math in decode_uint.
Daniel Lehman
dlehman25 at gmail.com
Tue Jun 2 20:56:14 CDT 2020
Signed-off-by: Daniel Lehman <dlehman25 at gmail.com>
---
dlls/vcruntime140_1/except_x86_64.c | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/dlls/vcruntime140_1/except_x86_64.c b/dlls/vcruntime140_1/except_x86_64.c
index fec133932f..b0c494ce1c 100644
--- a/dlls/vcruntime140_1/except_x86_64.c
+++ b/dlls/vcruntime140_1/except_x86_64.c
@@ -116,34 +116,36 @@ typedef struct
static UINT decode_uint(BYTE **b)
{
UINT ret;
+ BYTE *p = *b;
- if ((**b & 1) == 0)
+ if ((*p & 1) == 0)
{
- ret = *b[0] >> 1;
- *b += 1;
+ ret = p[0] >> 1;
+ p += 1;
}
- else if ((**b & 3) == 1)
+ else if ((*p & 3) == 1)
{
- ret = (*b[0] >> 2) + (*b[1] << 6);
- *b += 2;
+ ret = (p[0] >> 2) + (p[1] << 6);
+ p += 2;
}
- else if ((**b & 7) == 3)
+ else if ((*p & 7) == 3)
{
- ret = (*b[0] >> 3) + (*b[1] << 5) + (*b[2] << 13);
- *b += 3;
+ ret = (p[0] >> 3) + (p[1] << 5) + (p[2] << 13);
+ p += 3;
}
- else if ((**b & 15) == 7)
+ else if ((*p & 15) == 7)
{
- ret = (*b[0] >> 4) + (*b[1] << 4) + (*b[2] << 12) + (*b[3] << 20);
- *b += 4;
+ ret = (p[0] >> 4) + (p[1] << 4) + (p[2] << 12) + (p[3] << 20);
+ p += 4;
}
else
{
FIXME("not implemented - expect crash\n");
ret = 0;
- *b += 5;
+ p += 5;
}
+ *b = p;
return ret;
}
--
2.17.1
More information about the wine-devel
mailing list