git-svn: trunk@2394
Tomasz Kojm authored on 2006/10/16 08:14:42... | ... |
@@ -1,3 +1,8 @@ |
1 |
+Mon Oct 16 01:12:36 CEST 2006 (tk) |
|
2 |
+---------------------------------- |
|
3 |
+ * libclamav/readdb.c: use different field order for .mdb files |
|
4 |
+ (requested by signature maintainers) |
|
5 |
+ |
|
1 | 6 |
Sun Oct 15 21:15:58 CEST 2006 (tk) |
2 | 7 |
---------------------------------- |
3 | 8 |
* libclamav: allow loading multiple .pdb/.wdb files (Edwin) |
... | ... |
@@ -812,6 +812,7 @@ static int cli_loadhdb(FILE *fd, struct cl_engine **engine, unsigned int *signo, |
812 | 812 |
{ |
813 | 813 |
char buffer[FILEBUFF], *pt; |
814 | 814 |
int line = 0, ret = 0; |
815 |
+ unsigned int md5f = 0, sizef = 1; |
|
815 | 816 |
struct cli_md5_node *new, *mpt, *last; |
816 | 817 |
|
817 | 818 |
|
... | ... |
@@ -820,6 +821,11 @@ static int cli_loadhdb(FILE *fd, struct cl_engine **engine, unsigned int *signo, |
820 | 820 |
return ret; |
821 | 821 |
} |
822 | 822 |
|
823 |
+ if(mode == 2) { |
|
824 |
+ md5f = 1; |
|
825 |
+ sizef = 0; |
|
826 |
+ } |
|
827 |
+ |
|
823 | 828 |
while(fgets(buffer, FILEBUFF, fd)) { |
824 | 829 |
line++; |
825 | 830 |
cli_chomp(buffer); |
... | ... |
@@ -833,7 +839,7 @@ static int cli_loadhdb(FILE *fd, struct cl_engine **engine, unsigned int *signo, |
833 | 833 |
if(mode == 1) /* fp */ |
834 | 834 |
new->fp = 1; |
835 | 835 |
|
836 |
- if(!(pt = cli_strtok(buffer, 0, ":"))) { |
|
836 |
+ if(!(pt = cli_strtok(buffer, md5f, ":"))) { |
|
837 | 837 |
free(new); |
838 | 838 |
ret = CL_EMALFDB; |
839 | 839 |
break; |
... | ... |
@@ -848,7 +854,7 @@ static int cli_loadhdb(FILE *fd, struct cl_engine **engine, unsigned int *signo, |
848 | 848 |
} |
849 | 849 |
free(pt); |
850 | 850 |
|
851 |
- if(!(pt = cli_strtok(buffer, 1, ":"))) { |
|
851 |
+ if(!(pt = cli_strtok(buffer, sizef, ":"))) { |
|
852 | 852 |
free(new->md5); |
853 | 853 |
free(new); |
854 | 854 |
ret = CL_EMALFDB; |