git-svn: trunk@4155
aCaB authored on 2008/08/31 22:32:42... | ... |
@@ -1,3 +1,7 @@ |
1 |
+Sun Aug 31 15:31:04 CEST 2008 (acab) |
|
2 |
+------------------------------------ |
|
3 |
+ * libclamav/disasm, unit_tests: more endianess issues fixed (that should eb all) |
|
4 |
+ |
|
1 | 5 |
Sun Aug 31 04:23:12 CEST 2008 (acab) |
2 | 6 |
------------------------------------ |
3 | 7 |
* libclamunrar/unrarvm.c: big-endian fixes |
... | ... |
@@ -1189,13 +1189,13 @@ static void spam_x86(struct DISASMED *s, char *hr) { |
1189 | 1189 |
case ACCESS_NOARG: |
1190 | 1190 |
break; |
1191 | 1191 |
case ACCESS_IMM: |
1192 |
- sprintf(hr, "%s%s %x", hr, comma, s->args[i].arg.d); |
|
1192 |
+ sprintf(hr, "%s%s %llx", hr, comma, s->args[i].arg.q); |
|
1193 | 1193 |
break; |
1194 | 1194 |
case ACCESS_REL: |
1195 |
- if (s->args[i].arg.rd >=0) |
|
1196 |
- sprintf(hr, "%s%s %x", hr, comma, s->args[i].arg.d); |
|
1195 |
+ if (s->args[i].arg.rq >=0) |
|
1196 |
+ sprintf(hr, "%s%s %llx", hr, comma, s->args[i].arg.q); |
|
1197 | 1197 |
else |
1198 |
- sprintf(hr, "%s%s -%x", hr, comma, -s->args[i].arg.rd); |
|
1198 |
+ sprintf(hr, "%s%s -%x", hr, comma, -s->args[i].arg.rq); |
|
1199 | 1199 |
break; |
1200 | 1200 |
case ACCESS_REG: |
1201 | 1201 |
sprintf(hr, "%s%s %s", hr, comma, x86regs[s->args[i].reg]); |
... | ... |
@@ -1403,7 +1403,7 @@ static uint8_t *disasm_x86(uint8_t *command, unsigned int len, struct DISASMED * |
1403 | 1403 |
s->args[0].size = sz>>1; /* FIXME: size does matter - 6aff vs 666aff :( */ |
1404 | 1404 |
for (i=0; i<sz; i++) { |
1405 | 1405 |
GETBYTE(b); |
1406 |
- s->args[0].arg.q+=b<<(i*8); |
|
1406 |
+ s->args[0].arg.q+=(uint64_t)b<<(i*8); |
|
1407 | 1407 |
} |
1408 | 1408 |
if (x86ops[table][s->table_op].dmethod==ADDR_RELJ) { |
1409 | 1409 |
s->args[0].arg.q<<=((8-sz)*8); |
... | ... |
@@ -1718,7 +1718,7 @@ void disasmbuf(uint8_t *buff, unsigned int len, int fd) { |
1718 | 1718 |
case ACCESS_REG: |
1719 | 1719 |
w.arg[i][1] = s.args[i].reg; |
1720 | 1720 |
default: |
1721 |
- cli_writeint32(&w.arg[i][2], s.args[i].arg.d); |
|
1721 |
+ cli_writeint32(&w.arg[i][2], s.args[i].arg.q); |
|
1722 | 1722 |
cli_writeint32(&w.arg[i][6], s.args[i].arg.q>>32); |
1723 | 1723 |
} |
1724 | 1724 |
} |