0.96
aCaB 16 years ago
parent b2742f8878
commit 510c3097db
  1. 4
      ChangeLog
  2. 6
      libclamav/disasm.c
  3. 6
      libclamav/others.h

@ -1,3 +1,7 @@
Fri Jan 22 11:49:07 CET 2010 (acab)
-----------------------------------
* libclamav: fix shifts >= width (bb#1778)
Thu Jan 21 23:01:34 CET 2010 (tk)
---------------------------------
* sigtool: create digitally signed .info files

@ -1545,8 +1545,10 @@ static const uint8_t *disasm_x86(const uint8_t *command, unsigned int len, struc
GETBYTE(b);
shiftme+=b<<(i*8);
}
shiftme<<=((8-mod)*8);
s->args[reversed].arg.marg.disp=shiftme>>((8-mod)*8);
if(mod) {
shiftme<<=((8-mod)*8);
s->args[reversed].arg.marg.disp=shiftme>>((8-mod)*8);
} else s->args[reversed].arg.marg.disp=0;
} else {
if (mod==0 && rm==6) {
s->args[reversed].arg.marg.r1=REG_INVALID;

@ -380,8 +380,10 @@ static inline void cli_writeint32(char *offset, uint32_t value)
#endif
/* used by: spin, yc (C) aCaB */
#define CLI_ROL(a,b) a = ( a << (b % (sizeof(a)<<3) )) | (a >> ( (sizeof(a)<<3) - (b % (sizeof(a)<<3 )) ) )
#define CLI_ROR(a,b) a = ( a >> (b % (sizeof(a)<<3) )) | (a << ( (sizeof(a)<<3) - (b % (sizeof(a)<<3 )) ) )
#define __SHIFTBITS(a) (sizeof(a)<<3)
#define __SHIFTMASK(a) (__SHIFTBITS(a)-1)
#define CLI_ROL(a,b) a = ( a << (b & __SHIFTMASK(a)) ) | ( a >> ((__SHIFTBITS(a) - b) & __SHIFTMASK(a)) )
#define CLI_ROR(a,b) a = ( a >> (b & __SHIFTMASK(a)) ) | ( a << ((__SHIFTBITS(a) - b) & __SHIFTMASK(a))
/* Implementation independent sign-extended signed right shift */
#ifdef HAVE_SAR

Loading…
Cancel
Save