fix more compiler warnings (bb #273)

git-svn: trunk@4353
remotes/push_mirror/0.95
Török Edvin 17 years ago
parent 653c129cb3
commit 08402afa4c
  1. 5
      ChangeLog
  2. 2
      clamd/thrmgr.c
  3. 2
      libclamav/disasmpriv.h
  4. 2
      libclamav/htmlnorm.c
  5. 20
      libclamav/jsparse/js-norm.c
  6. 2
      libclamav/mbox.c
  7. 4
      libclamav/others.h
  8. 4
      libclamav/pe.c
  9. 2
      libclamav/phish_domaincheck_db.c
  10. 2
      libclamav/phish_domaincheck_db.h
  11. 30
      libclamav/phishcheck.c
  12. 2
      libclamav/phishcheck.h
  13. 2
      libclamunrar/unrarvm.c
  14. 8
      unit_tests/check_htmlnorm.c
  15. 4
      unit_tests/check_jsnorm.c
  16. 2
      unit_tests/check_regex.c

@ -1,3 +1,8 @@
Fri Nov 7 19:37:38 EET 2008 (edwin)
------------------------------------
* clamd/, libclamav/, libclamunrar/, unit_tests/: fix more compiler
warnings (bb #273)
Fri Nov 7 13:28:49 CET 2008 (tk)
---------------------------------
* freshclam/manager.c: remove unused parameter (bb#1280)

@ -222,7 +222,7 @@ int thrmgr_printstats(int f)
if(invalids)
mdprintf(f," (INVALID timestamps: %u)", invalids);
}
if(cnt + invalids != pool->queue->item_count)
if(cnt + invalids != (unsigned)pool->queue->item_count)
mdprintf(f," (ERROR: %u != %u)", cnt + invalids,
(unsigned)pool->queue->item_count);
mdprintf(f, "\n");

@ -397,8 +397,8 @@ struct DISASMED {
uint32_t opsize;
uint32_t adsize;
uint32_t segment;
struct DIS_ARGS args[3];
uint8_t cur;
struct DIS_ARGS args[3];
};
#endif

@ -100,8 +100,8 @@ typedef struct file_buff_tag {
} file_buff_t;
struct tag_contents {
unsigned char contents[MAX_TAG_CONTENTS_LENGTH + 1];
size_t pos;
unsigned char contents[MAX_TAG_CONTENTS_LENGTH + 1];
};
static const int base64_chars[256] = {

@ -72,12 +72,10 @@ typedef struct scanner {
typedef int YY_BUFFER_STATE;
static int yylex( YYSTYPE *lvalp, yyscan_t );
static void yy_delete_buffer( YY_BUFFER_STATE, yyscan_t);
static YY_BUFFER_STATE yy_scan_bytes( const char *, size_t, yyscan_t scanner );
static const char *yyget_text ( yyscan_t scanner );
static int yyget_leng ( yyscan_t scanner );
static int yylex_init ( yyscan_t * ptr_yy_globals ) ;
static void yyset_debug (int debug_flag ,yyscan_t yyscanner );
static int yylex_destroy ( yyscan_t yyscanner ) ;
/* ----------- tokenizer end ---------------- */
@ -687,7 +685,7 @@ static void handle_de(yystype *tokens, size_t start, const size_t cnt, const cha
}
}
static int handle_unescape(struct tokens *tokens, size_t start, const size_t cnt)
static int handle_unescape(struct tokens *tokens, size_t start)
{
if(tokens->data[start].type == TOK_StringLiteral) {
char *R;
@ -707,7 +705,7 @@ static int handle_unescape(struct tokens *tokens, size_t start, const size_t cnt
/* scriptasylum dot com's JS encoder */
static void handle_df(const yystype *tokens, size_t start, const size_t cnt, struct decode_result *res)
static void handle_df(const yystype *tokens, size_t start, struct decode_result *res)
{
char *str, *s1;
size_t len, s1_len, i;
@ -760,7 +758,7 @@ static void run_folders(struct tokens *tokens)
cstring &&
!strcmp("unescape", cstring) && tokens->data[i+1].type == TOK_PAR_OPEN) {
handle_unescape(tokens, i+2, tokens->cnt);
handle_unescape(tokens, i+2);
}
}
}
@ -813,7 +811,7 @@ static void run_decoders(struct parser_state *state)
/* TODO: also match signature of dF function (possibly
* declared using unescape */
handle_df(tokens->data, i+2, tokens->cnt, &res);
handle_df(tokens->data, i+2, &res);
} else if(i+2 < tokens->cnt && tokens->data[i].type == TOK_IDENTIFIER_NAME &&
cstring &&
!strcmp("eval", cstring) && tokens->data[i+1].type == TOK_PAR_OPEN) {
@ -1150,7 +1148,6 @@ void cli_js_process_buffer(struct parser_state *state, const char *buf, size_t n
memset(&val, 0, sizeof(val));
val.vtype = vtype_undefined;
}
yy_delete_buffer(yyb, state->scanner);
}
struct parser_state *cli_js_init(void)
@ -1169,7 +1166,6 @@ struct parser_state *cli_js_init(void)
free(state);
return NULL;
}
yyset_debug(1, state->scanner);
cli_dbgmsg(MODULE "cli_js_init() done\n");
return state;
}
@ -1440,14 +1436,6 @@ static int yy_scan_bytes(const char *p, size_t len, yyscan_t scanner)
return 0;
}
static void yyset_debug (int debug_flag ,yyscan_t yyscanner )
{
}
static void yy_delete_buffer( YY_BUFFER_STATE yyb, yyscan_t scanner)
{
}
static const char *yyget_text(yyscan_t scanner)
{
assert(scanner->buf.data || scanner->yytext);

@ -4034,7 +4034,7 @@ checkURLs(message *mainMessage, mbox_ctx *mctx, mbox_status *rc, int is_html)
b = getHrefs(mainMessage, &hrefs);
if(b) {
if(hrefs.scanContents) {
if(phishingScan(mctx->dir, mctx->ctx, &hrefs) == CL_VIRUS) {
if(phishingScan(mctx->ctx, &hrefs) == CL_VIRUS) {
/*
* FIXME: message objects' contents are
* encapsulated so we should not access

@ -44,11 +44,11 @@ extern uint8_t cli_debug_flag, cli_leavetemps_flag;
* The macro can be used to protect against wraps.
*/
#define CLI_ISCONTAINED(bb, bb_size, sb, sb_size) \
(bb_size > 0 && sb_size > 0 && sb_size <= bb_size \
(bb_size > 0 && sb_size > 0 && (size_t)sb_size <= (size_t)bb_size \
&& sb >= bb && sb + sb_size <= bb + bb_size && sb + sb_size > bb)
#define CLI_ISCONTAINED2(bb, bb_size, sb, sb_size) \
(bb_size > 0 && sb_size >= 0 && sb_size <= bb_size \
(bb_size > 0 && sb_size >= 0 && (size_t)sb_size <= (size_t)bb_size \
&& sb >= bb && sb + sb_size <= bb + bb_size && sb + sb_size >= bb)
#define CLI_MAX_ALLOCATION 184549376

@ -1920,7 +1920,7 @@ int cli_scanpe(int desc, cli_ctx *ctx)
for(i=0 ; ; i++) {
if(exe_sections[i].raw<head)
head=exe_sections[i].raw;
if(i==nsections-1) break;
if(i+1==nsections) break;
if(ssize<exe_sections[i].rva+exe_sections[i].vsz)
ssize=exe_sections[i].rva+exe_sections[i].vsz;
}
@ -1945,7 +1945,7 @@ int cli_scanpe(int desc, cli_ctx *ctx)
if(!CLI_ISCONTAINED(src, ssize, src+exe_sections[i].rva, exe_sections[i].rsz)) break;
if(cli_readn(desc, src+exe_sections[i].rva, exe_sections[i].rsz)!=exe_sections[i].rsz) break;
}
if(i!=nsections-1) {
if(i+1!=nsections) {
cli_dbgmsg("WWpack: Probably hacked/damaged file.\n");
free(src);
break;

@ -40,7 +40,7 @@
#include "phish_domaincheck_db.h"
#include "regex_list.h"
int domainlist_match(const struct cl_engine* engine,char* real_url,const char* display_url,const struct pre_fixup_info* pre_fixup,int hostOnly,unsigned short* flags)
int domainlist_match(const struct cl_engine* engine,char* real_url,const char* display_url,const struct pre_fixup_info* pre_fixup,int hostOnly)
{
const char* info;
int rc = engine->domainlist_matcher ? regex_list_match(engine->domainlist_matcher,real_url,display_url,hostOnly ? pre_fixup : NULL,hostOnly,&info,0) : 0;

@ -29,7 +29,7 @@ int init_domainlist(struct cl_engine* engine);
void domainlist_done(struct cl_engine* engine);
void domainlist_cleanup(const struct cl_engine* engine);
int is_domainlist_ok(const struct cl_engine* engine);
int domainlist_match(const struct cl_engine* engine,char* real_url,const char* display_url,const struct pre_fixup_info* pre_fixup, int hostOnly,unsigned short* flags);
int domainlist_match(const struct cl_engine *engine, char* real_url,const char* display_url,const struct pre_fixup_info* pre_fixup, int hostOnly);
#endif

@ -340,7 +340,7 @@ static int build_regex(regex_t* preg,const char* regex,int nosub)
}
/* allocates memory */
static int get_host(const struct phishcheck* s,const char* URL,int isReal,int* phishy,const char **hstart, const char **hend)
static int get_host(const char* URL,int isReal,int* phishy,const char **hstart, const char **hend)
{
int rc,ismailto = 0;
const char* start;
@ -425,7 +425,7 @@ rfind(char *start, char c, size_t len)
return (p < start) ? NULL : p;
}
static void get_domain(const struct phishcheck* pchk,struct string* dest,struct string* host)
static void get_domain(struct string* dest,struct string* host)
{
char* domain;
char* tld = strrchr(host->data,'.');
@ -722,7 +722,7 @@ cleanupURL(struct string *URL,struct string *pre_URL, int isReal)
}
/* -------end runtime disable---------*/
int phishingScan(const char* dir,cli_ctx* ctx,tag_arguments_t* hrefs)
int phishingScan(cli_ctx* ctx,tag_arguments_t* hrefs)
{
/* TODO: get_host and then apply regex, etc. */
int i;
@ -992,7 +992,7 @@ static inline int validate_uri_ialpha(const char *start, const char *end)
/*
* Only those URLs are identified as URLs for which phishing detection can be performed.
*/
static int isURL(const struct phishcheck* pchk,const char* URL, int accept_anyproto)
static int isURL(const char* URL, int accept_anyproto)
{
const char *start = NULL, *p, *q, *end;
if(!URL)
@ -1088,13 +1088,13 @@ static enum phish_status cleanupURLs(struct url_check* urls)
return CL_PHISH_NODECISION;
}
static int url_get_host(const struct phishcheck* pchk, struct url_check* url,struct url_check* host_url,int isReal,int* phishy)
static int url_get_host(struct url_check* url,struct url_check* host_url,int isReal,int* phishy)
{
const char *start, *end;
struct string* host = isReal ? &host_url->realLink : &host_url->displayLink;
const char* URL = isReal ? url->realLink.data : url->displayLink.data;
int rc;
if ((rc = get_host(pchk, URL, isReal, phishy, &start, &end))) {
if ((rc = get_host(URL, isReal, phishy, &start, &end))) {
return rc;
}
if(!start || !end) {
@ -1126,10 +1126,10 @@ static int url_get_host(const struct phishcheck* pchk, struct url_check* url,str
return CL_PHISH_NODECISION;
}
static void url_get_domain(const struct phishcheck* pchk, struct url_check* url,struct url_check* domains)
static void url_get_domain(struct url_check* url,struct url_check* domains)
{
get_domain(pchk, &domains->realLink, &url->realLink);
get_domain(pchk, &domains->displayLink, &url->displayLink);
get_domain(&domains->realLink, &url->realLink);
get_domain(&domains->displayLink, &url->displayLink);
domains->flags = url->flags;
}
@ -1289,7 +1289,7 @@ static enum phish_status phishingCheck(const struct cl_engine* engine,struct url
if(!strcmp(urls->realLink.data,urls->displayLink.data))
return CL_PHISH_CLEAN;/* displayed and real URL are identical -> clean */
if(!isURL(pchk, urls->realLink.data, 0)) {
if(!isURL(urls->realLink.data, 0)) {
cli_dbgmsg("Real 'url' is not url:%s\n",urls->realLink.data);
return CL_PHISH_CLEAN;
}
@ -1308,7 +1308,7 @@ static enum phish_status phishingCheck(const struct cl_engine* engine,struct url
cli_dbgmsg("Phishcheck:URL after cleanup: %s->%s\n", urls->realLink.data,
urls->displayLink.data);
if((!isURL(pchk, urls->displayLink.data, 1) ) &&
if((!isURL(urls->displayLink.data, 1) ) &&
( (phishy&PHISHY_NUMERIC_IP && !isNumericURL(pchk, urls->displayLink.data)) ||
!(phishy&PHISHY_NUMERIC_IP))) {
cli_dbgmsg("Displayed 'url' is not url:%s\n",urls->displayLink.data);
@ -1320,12 +1320,12 @@ static enum phish_status phishingCheck(const struct cl_engine* engine,struct url
url_check_init(&host_url);
if((rc = url_get_host(pchk, urls, &host_url, DOMAIN_DISPLAY, &phishy))) {
if((rc = url_get_host(urls, &host_url, DOMAIN_DISPLAY, &phishy))) {
free_if_needed(&host_url);
return rc < 0 ? rc : CL_PHISH_CLEAN;
}
if (domainlist_match(engine,host_url.displayLink.data,host_url.realLink.data,&urls->pre_fixup,1,&urls->flags)) {
if (domainlist_match(engine, host_url.displayLink.data,host_url.realLink.data,&urls->pre_fixup,1)) {
phishy |= DOMAIN_LISTED;
} else {
urls->flags &= urls->always_check_flags;
@ -1358,7 +1358,7 @@ static enum phish_status phishingCheck(const struct cl_engine* engine,struct url
return CL_PHISH_CLEAN;
}
if((rc = url_get_host(pchk, urls,&host_url,DOMAIN_REAL,&phishy)))
if((rc = url_get_host(urls,&host_url,DOMAIN_REAL,&phishy)))
{
free_if_needed(&host_url);
return rc < 0 ? rc : CL_PHISH_CLEAN;
@ -1377,7 +1377,7 @@ static enum phish_status phishingCheck(const struct cl_engine* engine,struct url
{
struct url_check domain_url;
url_check_init(&domain_url);
url_get_domain(pchk, &host_url,&domain_url);
url_get_domain(&host_url,&domain_url);
if(!strcmp(domain_url.realLink.data,domain_url.displayLink.data)) {
free_if_needed(&host_url);
free_if_needed(&domain_url);

@ -66,7 +66,7 @@ struct url_check {
unsigned short link_type;
};
int phishingScan(const char* dir,cli_ctx* ctx,tag_arguments_t* hrefs);
int phishingScan(cli_ctx* ctx,tag_arguments_t* hrefs);
void phish_disable(struct cl_engine* engine,const char* reason);
/* Global, non-thread-safe functions, call only once! */

@ -111,7 +111,7 @@ void rarvm_set_value(int byte_mode, unsigned int *addr, unsigned int value)
#if WORDS_BIGENDIAN == 0
#define SET_VALUE(byte_mode,addr,value) ((byte_mode) ? (*(unsigned char *)(addr)=(value)):(*(uint32_t *)(addr)=((uint32_t)(value))))
#define SET_VALUE(byte_mode,addr,value) (void)(((byte_mode) ? (*(unsigned char *)(addr)=(value)):(*(uint32_t *)(addr)=((uint32_t)(value)))))
#else
#define SET_VALUE(byte_mode,addr,value) rarvm_set_value(byte_mode, (unsigned int *)addr, value);
#endif

@ -60,13 +60,13 @@ static struct test {
#ifdef CHECK_HAVE_LOOPS
static void check_dir(const char *dir, const struct test *test)
static void check_dir(const char *dire, const struct test *test)
{
char filename[4096];
int fd, reffd;
if (test->nocommentref) {
snprintf(filename, sizeof(filename), "%s/nocomment.html", dir);
snprintf(filename, sizeof(filename), "%s/nocomment.html", dire);
fd = open(filename, O_RDONLY);
fail_unless(fd > 0,"unable to open: %s", filename);
reffd = open_testfile(test->nocommentref);
@ -77,7 +77,7 @@ static void check_dir(const char *dir, const struct test *test)
close(fd);
}
if (test->notagsref) {
snprintf(filename, sizeof(filename), "%s/notags.html", dir);
snprintf(filename, sizeof(filename), "%s/notags.html", dire);
fd = open(filename, O_RDONLY);
fail_unless(fd > 0,"unable to open: %s", filename);
reffd = open_testfile(test->notagsref);
@ -88,7 +88,7 @@ static void check_dir(const char *dir, const struct test *test)
close(fd);
}
if (test->jsref) {
snprintf(filename, sizeof(filename), "%s/javascript", dir);
snprintf(filename, sizeof(filename), "%s/javascript", dire);
fd = open(filename, O_RDONLY);
fail_unless(fd > 0,"unable to open: %s", filename);
reffd = open_testfile(test->jsref);

@ -227,11 +227,9 @@ static void jstest_teardown(void)
static void tokenizer_test(const char *in, const char *expected, int split)
{
char filename[1024];
char *buf;
int fd;
ssize_t len = strlen(expected);
size_t inlen = strlen(in);
ssize_t p, p2;
if(split) {
cli_js_process_buffer(state, in, inlen/2);
@ -459,7 +457,7 @@ Suite *test_jsnorm_suite(void)
{
Suite *s = suite_create("jsnorm");
TCase *tc_jsnorm_gperf, *tc_jsnorm_token, *tc_jsnorm_api,
*tc_jsnorm_tokenizer, *tc_jsnorm_bugs, *tc_screnc_infloop;
*tc_jsnorm_tokenizer, *tc_jsnorm_bugs;
prepare();
tc_jsnorm_gperf = tcase_create("jsnorm gperf");

@ -371,7 +371,7 @@ static void do_phishing_test(const struct rtest *rtest)
ctx.engine = engine;
ctx.virname = &virname;
rc = phishingScan(NULL, &ctx, &hrefs);
rc = phishingScan(&ctx, &hrefs);
html_tag_arg_free(&hrefs);
fail_unless(rc == CL_CLEAN,"phishingScan");

Loading…
Cancel
Save