Browse code

fixed bitmap shifting in unspin

git-svn: trunk@1697

aCaB authored on 2005/08/17 22:55:45
Showing 2 changed files
... ...
@@ -1,3 +1,7 @@
1
+Wed Aug 17 15:53:33 CEST 2005 (acab)
2
+------------------------------------
3
+  * libclamav/spin.c: fixed bitmap shifting
4
+
1 5
 Tue Aug 16 12:50:30 CEST 2005 (acab)
2 6
 ------------------------------------
3 7
   * libclamav: fixed compiler warnings (thx njh)
... ...
@@ -405,6 +405,7 @@ int unspin(char *src, int ssize, struct pe_image_section_hdr *sections, int sect
405 405
   
406 406
   cli_dbgmsg("spin: Decrypting sects (xor)\n");
407 407
   for (j=0; j<sectcnt; j++) {
408
+
408 409
     if (bitmap&1) {
409 410
       uint32_t size = EC32(sections[j].SizeOfRawData);
410 411
       char *ptr = src + EC32(sections[j].PointerToRawData);
... ...
@@ -425,9 +426,8 @@ int unspin(char *src, int ssize, struct pe_image_section_hdr *sections, int sect
425 425
 	*ptr = *ptr ^ (keydup & 0xff);
426 426
 	ptr++;
427 427
       }
428
-      
429
-      bitmap = bitmap >>1 & 0x7fffffff; /* HELP: clear sign bit for unsigned values too? */
430
-    }
428
+    } 
429
+    bitmap = bitmap >>1 & 0x7fffffff; /* HELP: clear sign bit for unsigned values too? */
431 430
   }
432 431
   
433 432
   cli_dbgmsg("spin: done\n");
... ...
@@ -490,10 +490,8 @@ int unspin(char *src, int ssize, struct pe_image_section_hdr *sections, int sect
490 490
         *emu=exec86(*emu, notthesamelen-- & 0xff, curr);
491 491
         emu++;
492 492
       }
493
-
494
-      bitmap = bitmap >>1 & 0x7fffffff;
495
-
496 493
     }
494
+      bitmap = bitmap >>1 & 0x7fffffff;
497 495
   }
498 496
   
499 497
   cli_dbgmsg("spin: done\n");