fix compiler warnings, more to come (bb #273)

git-svn: trunk@4346
remotes/push_mirror/0.95
Török Edvin 17 years ago
parent 233732d76d
commit b9b477842d
  1. 10
      ChangeLog
  2. 2
      Makefile.am
  3. 1
      clamd/session.c
  4. 11
      clamd/thrmgr.c
  5. 2
      libclamav/dlp.c
  6. 118
      libclamav/htmlnorm.c
  7. 4
      libclamav/jsparse/js-norm.c
  8. 2
      libclamav/mpool.c
  9. 2
      libclamav/mpool.h
  10. 2
      libclamav/pe.c
  11. 13
      libclamav/phishcheck.c
  12. 4
      libclamav/readdb.c
  13. 2
      libclamav/upack.c
  14. 4
      libclamav/upx.c
  15. 2
      libclamunrar/unrar.c
  16. 6
      libclamunrar/unrarvm.c
  17. 4
      libclamunrar_iface/unrar_iface.c

@ -1,3 +1,13 @@
Thu Nov 6 15:24:34 EET 2008 (edwin)
------------------------------------
* Makefile.am, clamd/session.c, clamd/thrmgr.c, libclamav/dlp.c,
libclamav/htmlnorm.c, libclamav/jsparse/js-norm.c,
libclamav/mpool.c, libclamav/mpool.h, libclamav/pe.c,
libclamav/phishcheck.c, libclamav/readdb.c, libclamav/upack.c,
libclamav/upx.c, libclamunrar/unrar.c, libclamunrar/unrarvm.c,
libclamunrar_iface/unrar_iface.c: fix compiler warnings, more to
come (bb #273)
Thu Nov 6 12:29:26 EET 2008 (edwin)
------------------------------------
* contrib/clamdtop/clamdtop.c: reconnect if connection is broken use

@ -29,7 +29,7 @@ pkgconfig_DATA = libclamav.pc
distuninstallcheck_listfiles = find . -type f ! -name clamd.conf ! -name freshclam.conf ! -name daily.cvd ! -name main.cvd -print
DISTCLEANFILES = target.h
if DISTCHECK_ENABLE_FLAGS
DISTCHECK_CONFIGURE_FLAGS=--enable-milter --disable-clamav CFLAGS="-Wno-pointer-sign -Wno-error=attributes -Werror-implicit-function-declaration -Werror -Wextra -Wall -Wbad-function-cast -Wcast-align -Wendif-labels -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-prototypes -Wno-error=missing-prototypes -Wnested-externs -Wno-error=nested-externs -Wpointer-arith -Wstrict-prototypes -Wno-error=strict-prototypes -Wno-switch -Wno-switch-enum -Wundef -Wwrite-strings -Wstrict-overflow=1 -Winit-self -Wmissing-include-dirs -Wstrict-aliasing -Wdeclaration-after-statement -Waggregate-return -Wmissing-format-attribute -Wno-error=missing-format-attribute -Wpadded -Wno-error=type-limits -Wno-error=unused-value -Wno-error=unused-variable -Wcast-qual -Wno-error=cast-qual -Wno-error=sign-compare -Wshadow -Wno-error=shadow -Wno-error=uninitialized -fdiagnostics-show-option -Wno-unused-parameter -Wpacked -Wno-error=packed -Wno-error=unreachable-code -Winvalid-pch -Wno-error=invalid-pch -O2 -D_FORTIFY_SOURCE=2 -fstack-protector-all -Wstack-protector -Wno-error=padded"
DISTCHECK_CONFIGURE_FLAGS=--enable-milter --disable-clamav CFLAGS="-Wno-pointer-sign -Wno-error=attributes -Werror-implicit-function-declaration -Werror -Wextra -Wall -Wbad-function-cast -Wcast-align -Wendif-labels -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-prototypes -Wno-error=missing-prototypes -Wnested-externs -Wno-error=nested-externs -Wpointer-arith -Wstrict-prototypes -Wno-error=strict-prototypes -Wno-switch -Wno-switch-enum -Wundef -Wwrite-strings -Wstrict-overflow=1 -Winit-self -Wmissing-include-dirs -Wstrict-aliasing -Wdeclaration-after-statement -Waggregate-return -Wmissing-format-attribute -Wno-error=missing-format-attribute -Wpadded -Wno-error=type-limits -Wno-error=unused-value -Wno-error=unused-variable -Wcast-qual -Wno-error=cast-qual -Wno-error=sign-compare -Wshadow -Wno-error=shadow -Wno-error=uninitialized -fdiagnostics-show-option -Wno-unused-parameter -Wpacked -Wno-error=packed -Wno-error=unreachable-code -Winvalid-pch -Wno-error=invalid-pch -O2 -D_FORTIFY_SOURCE=2 -fstack-protector-all -Wstack-protector -Wno-error=padded -Wno-error=aggregate-return"
else
DISTCHECK_CONFIGURE_FLAGS=--enable-milter --disable-clamav
endif

@ -65,6 +65,7 @@
#include "scanner.h"
#include "server.h"
#include "session.h"
#include "thrmgr.h"
#ifdef HAVE_FD_PASSING
static int recvfd_and_scan(int desc, const struct cl_engine *engine, const struct cl_limits *limits, unsigned int options, const struct cfgstruct *copt)

@ -155,8 +155,8 @@ static void remove_frompools(threadpool_t *t)
int thrmgr_printstats(int f)
{
struct threadpool_list *l;
size_t cnt;
size_t pool_used = 0, pool_total = 0, pool_cnt = 0, seen_cnt = 0, error_flag = 0;
unsigned cnt, pool_cnt = 0;
size_t pool_used = 0, pool_total = 0, seen_cnt = 0, error_flag = 0;
float mem_heap = 0, mem_mmap = 0, mem_used = 0, mem_free = 0, mem_releasable = 0;
const struct cl_engine **seen = NULL;
@ -169,7 +169,7 @@ int thrmgr_printstats(int f)
work_item_t *q;
struct timeval tv_now;
unsigned long umin=~0UL, umax=0, usum=0;
size_t invalids=0, cnt=0;
unsigned invalids=0, cnt=0;
struct task_desc *task;
if(!pool) {
@ -190,6 +190,9 @@ int thrmgr_printstats(int f)
case POOL_EXIT:
state = "EXIT";
break;
default:
state = "??";
break;
}
mdprintf(f, "STATE: %s %s\n", state, l->nxt ? "" : "PRIMARY");
mdprintf(f, "THREADS: live %u idle %u max %u idle-timeout %u\n"
@ -220,7 +223,7 @@ int thrmgr_printstats(int f)
}
if(cnt + invalids != pool->queue->item_count)
mdprintf(f," (ERROR: %u != %u)", cnt + invalids,
pool->queue->item_count);
(unsigned)pool->queue->item_count);
mdprintf(f, "\n");
for(task = pool->tasks; task; task = task->nxt) {
long delta;

@ -298,7 +298,7 @@ int dlp_is_valid_ssn(const unsigned char *buffer, int length, int format)
if((length > minlength) && isdigit(buffer[minlength]))
return 0;
strncpy(numbuf, buffer, minlength);
strncpy(numbuf, (const char*)buffer, minlength);
numbuf[minlength] = 0;
/* sscanf parses and (basically) validates the string for us */

@ -326,8 +326,8 @@ static char *html_tag_arg_value(tag_arguments_t *tags, const char *tag)
int i;
for (i=0; i < tags->count; i++) {
if (strcmp(tags->tag[i], tag) == 0) {
return tags->value[i];
if (strcmp((const char*)tags->tag[i], tag) == 0) {
return (char*)tags->value[i];
}
}
return NULL;
@ -338,16 +338,16 @@ static void html_tag_arg_set(tag_arguments_t *tags, const char *tag, const char
int i;
for (i=0; i < tags->count; i++) {
if (strcmp(tags->tag[i], tag) == 0) {
if (strcmp((const char*)tags->tag[i], tag) == 0) {
free(tags->value[i]);
tags->value[i] = cli_strdup(value);
tags->value[i] = (unsigned char*)cli_strdup(value);
return;
}
}
return;
}
static void html_tag_arg_add(tag_arguments_t *tags,
const unsigned char *tag, unsigned char *value)
const char *tag, char *value)
{
int len, i;
tags->count++;
@ -369,16 +369,16 @@ static void html_tag_arg_add(tag_arguments_t *tags,
}
tags->contents[tags->count-1]=NULL;
}
tags->tag[tags->count-1] = cli_strdup(tag);
tags->tag[tags->count-1] = (unsigned char*)cli_strdup(tag);
if (value) {
if (*value == '"') {
tags->value[tags->count-1] = cli_strdup(value+1);
len = strlen(value+1);
tags->value[tags->count-1] = (unsigned char*)cli_strdup(value+1);
len = strlen((const char*)value+1);
if (len > 0) {
tags->value[tags->count-1][len-1] = '\0';
}
} else {
tags->value[tags->count-1] = cli_strdup(value);
tags->value[tags->count-1] = (unsigned char*)cli_strdup(value);
}
} else {
tags->value[tags->count-1] = NULL;
@ -419,13 +419,13 @@ static void html_output_tag(file_buff_t *fbuff, char *tag, tag_arguments_t *tags
int i, j, len;
html_output_c(fbuff, '<');
html_output_str(fbuff, tag, strlen(tag));
html_output_str(fbuff, (const unsigned char*)tag, strlen(tag));
for (i=0; i < tags->count; i++) {
html_output_c(fbuff, ' ');
html_output_str(fbuff, tags->tag[i], strlen(tags->tag[i]));
html_output_str(fbuff, tags->tag[i], strlen((const char*)tags->tag[i]));
if (tags->value[i]) {
html_output_str(fbuff, "=\"", 2);
len = strlen(tags->value[i]);
html_output_str(fbuff, (const unsigned char*)"=\"", 2);
len = strlen((const char*)tags->value[i]);
for (j=0 ; j<len ; j++) {
html_output_c(fbuff, tolower(tags->value[i][j]));
}
@ -548,7 +548,7 @@ static void screnc_decode(unsigned char *ptr, struct screnc_state *s)
}
if(!s->length) {
size_t remaining;
if(strlen(ptr) >= 12) {
if(strlen((const char*)ptr) >= 12) {
uint32_t expected;
expected = base64_chars[ptr[0]] << 2;
expected += base64_chars[ptr[1]] >> 4;
@ -562,7 +562,7 @@ static void screnc_decode(unsigned char *ptr, struct screnc_state *s)
if(s->sum != expected) {
cli_dbgmsg("screnc_decode: checksum mismatch: %u != %u\n", s->sum, expected);
} else {
if(strncmp(ptr, "^#~@", 4) != 0) {
if(strncmp((const char*)ptr, "^#~@", 4) != 0) {
cli_dbgmsg("screnc_decode: terminator not found\n");
} else {
cli_dbgmsg("screnc_decode: OK\n");
@ -571,15 +571,15 @@ static void screnc_decode(unsigned char *ptr, struct screnc_state *s)
ptr += 4;
}
/* copy remaining */
remaining = strlen(ptr) + 1;
remaining = strlen((const char*)ptr) + 1;
memmove(dst, ptr, remaining);
} else {
*dst = '\0';
}
}
static void js_process(struct parser_state *js_state, const char *js_begin, const char *js_end,
const char *line, const char *ptr, int in_script, const char *dirname)
static void js_process(struct parser_state *js_state, const unsigned char *js_begin, const unsigned char *js_end,
const unsigned char *line, const unsigned char *ptr, int in_script, const char *dirname)
{
if(!js_begin)
js_begin = line;
@ -588,7 +588,7 @@ static void js_process(struct parser_state *js_state, const char *js_begin, cons
if(js_end > js_begin &&
CLI_ISCONTAINED(line, 8192, js_begin, 1) &&
CLI_ISCONTAINED(line, 8192, js_end, 1)) {
cli_js_process_buffer(js_state, js_begin, js_end - js_begin);
cli_js_process_buffer(js_state, (const char*)js_begin, js_end - js_begin);
}
if(!in_script) {
/* we found a /script, normalize script now */
@ -600,20 +600,20 @@ static void js_process(struct parser_state *js_state, const char *js_begin, cons
static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag_arguments_t *hrefs,const struct cli_dconf* dconf)
{
int fd_tmp, tag_length, tag_arg_length, binary;
int retval=FALSE, escape, value = 0, hex, tag_val_length=0;
int fd_tmp, tag_length = 0, tag_arg_length = 0, binary;
int retval=FALSE, escape=FALSE, value = 0, hex=FALSE, tag_val_length=0;
int look_for_screnc=FALSE, in_screnc=FALSE,in_script=FALSE, text_space_written=FALSE;
FILE *stream_in = NULL;
html_state state=HTML_NORM, next_state=HTML_BAD_STATE, saved_next_state=HTML_BAD_STATE;
char filename[1024], tag[HTML_STR_LENGTH+1], tag_arg[HTML_STR_LENGTH+1];
char tag_val[HTML_STR_LENGTH+1], *tmp_file;
unsigned char *line, *ptr, *arg_value, *ptr_screnc;
char tag_val[HTML_STR_LENGTH+1], *tmp_file, *arg_value;
unsigned char *line, *ptr, *ptr_screnc = NULL;
tag_arguments_t tag_args;
quoted_state quoted;
unsigned long length;
quoted_state quoted = NOT_QUOTED;
unsigned long length = 0;
struct screnc_state screnc_state;
file_buff_t *file_buff_o2, *file_buff_text;
file_buff_t *file_tmp_o1;
file_buff_t *file_tmp_o1 = NULL;
int in_ahref=0;/* index of <a> tag, whose contents we are parsing. Indexing starts from 1, 0 means outside of <a>*/
unsigned char* href_contents_begin=NULL;/*beginning of the next portion of <a> contents*/
unsigned char* ptrend=NULL;/*end of <a> contents*/
@ -1067,13 +1067,13 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
} else if (strcmp(tag, "script") == 0) {
arg_value = html_tag_arg_value(&tag_args, "language");
/* TODO: maybe we can output all tags only via html_output_tag */
if (arg_value && (strcasecmp(arg_value, "jscript.encode") == 0)) {
if (arg_value && (strcasecmp((const char*)arg_value, "jscript.encode") == 0)) {
html_tag_arg_set(&tag_args, "language", "javascript");
state = HTML_SKIP_WS;
next_state = HTML_JSDECODE;
/* we already output the old tag, output the new tag now */
html_output_tag(file_buff_o2, tag, &tag_args);
} else if (arg_value && (strcasecmp(arg_value, "vbscript.encode") == 0)) {
} else if (arg_value && (strcasecmp((const char*)arg_value, "vbscript.encode") == 0)) {
html_tag_arg_set(&tag_args, "language", "vbscript");
state = HTML_SKIP_WS;
next_state = HTML_JSDECODE;
@ -1091,8 +1091,8 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
}
} else if(strcmp(tag, "%@") == 0) {
arg_value = html_tag_arg_value(&tag_args, "language");
if(arg_value && (strcasecmp(arg_value,"jscript.encode") == 0||
strcasecmp(arg_value, "vbscript.encode") == 0)) {
if(arg_value && (strcasecmp((const char*)arg_value,"jscript.encode") == 0||
strcasecmp((const char*)arg_value, "vbscript.encode") == 0)) {
saved_next_state = next_state;
next_state = state;
@ -1104,9 +1104,9 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
href_contents_begin=ptr;
if (strcmp(tag, "a") == 0) {
arg_value = html_tag_arg_value(&tag_args, "href");
if (arg_value && strlen(arg_value) > 0) {
if (arg_value && strlen((const char*)arg_value) > 0) {
if (hrefs->scanContents) {
unsigned char* arg_value_title = html_tag_arg_value(&tag_args,"title");
char* arg_value_title = html_tag_arg_value(&tag_args,"title");
/*beginning of an <a> tag*/
if (in_ahref)
/*we encountered nested <a> tags, pretend previous closed*/
@ -1119,8 +1119,8 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
if (arg_value_title) {
/* title is a 'displayed link'*/
html_tag_arg_add(hrefs,"href_title",arg_value_title);
html_tag_contents_append(&contents,arg_value,
arg_value+strlen(arg_value));
html_tag_contents_append(&contents,(const unsigned char*)arg_value,
(const unsigned char*)arg_value+strlen(arg_value));
html_tag_contents_done(hrefs, hrefs->count, &contents);
}
if (in_form_action) {
@ -1128,7 +1128,7 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
html_tag_arg_add(hrefs,"form",arg_value);
contents.pos = 0;
html_tag_contents_append(&contents, in_form_action,
in_form_action + strlen(in_form_action));
in_form_action + strlen((const char*)in_form_action));
html_tag_contents_done(hrefs, hrefs->count, &contents);
}
}
@ -1140,11 +1140,11 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
}
}
} else if (strcmp(tag,"form") == 0 && hrefs->scanContents) {
const unsigned char* arg_action_value = html_tag_arg_value(&tag_args,"action");
const char* arg_action_value = html_tag_arg_value(&tag_args,"action");
if (arg_action_value) {
if(in_form_action)
free(in_form_action);
in_form_action = cli_strdup(arg_action_value);
in_form_action = (unsigned char*)cli_strdup(arg_action_value);
}
} else if (strcmp(tag, "img") == 0) {
arg_value = html_tag_arg_value(&tag_args, "src");
@ -1152,13 +1152,13 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
html_tag_arg_add(hrefs, "src", arg_value);
if(hrefs->scanContents && in_ahref)
/* "contents" of an img tag, is the URL of its parent <a> tag */
hrefs->contents[hrefs->count-1] = cli_strdup(hrefs->value[in_ahref-1]);
hrefs->contents[hrefs->count-1] = (unsigned char*)cli_strdup((const char*)hrefs->value[in_ahref-1]);
if (in_form_action) {
/* form action is the real URL, and href is the 'displayed' */
html_tag_arg_add(hrefs,"form",arg_value);
contents.pos = 0;
html_tag_contents_append(&contents, in_form_action,
in_form_action + strlen(in_form_action));
in_form_action + strlen((const char*)in_form_action));
html_tag_contents_done(hrefs, hrefs->count, &contents);
}
}
@ -1167,13 +1167,13 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
html_tag_arg_add(hrefs, "dynsrc", arg_value);
if(hrefs->scanContents && in_ahref)
/* see above */
hrefs->contents[hrefs->count-1] = cli_strdup(hrefs->value[in_ahref-1]);
hrefs->contents[hrefs->count-1] = (unsigned char*)cli_strdup((const char*)hrefs->value[in_ahref-1]);
if (in_form_action) {
/* form action is the real URL, and href is the 'displayed' */
html_tag_arg_add(hrefs,"form",arg_value);
contents.pos = 0;
html_tag_contents_append(&contents, in_form_action,
in_form_action + strlen(in_form_action));
in_form_action + strlen((const char*)in_form_action));
html_tag_contents_done(hrefs, hrefs->count, &contents);
}
}
@ -1183,13 +1183,13 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
html_tag_arg_add(hrefs, "iframe", arg_value);
if(hrefs->scanContents && in_ahref)
/* see above */
hrefs->contents[hrefs->count-1] = cli_strdup(hrefs->value[in_ahref-1]);
hrefs->contents[hrefs->count-1] = (unsigned char*)cli_strdup((const char*)hrefs->value[in_ahref-1]);
if (in_form_action) {
/* form action is the real URL, and href is the 'displayed' */
html_tag_arg_add(hrefs,"form",arg_value);
contents.pos = 0;
html_tag_contents_append(&contents, in_form_action,
in_form_action + strlen(in_form_action));
in_form_action + strlen((const char*)in_form_action));
html_tag_contents_done(hrefs, hrefs->count, &contents);
}
}
@ -1199,13 +1199,13 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
html_tag_arg_add(hrefs, "area", arg_value);
if(hrefs->scanContents && in_ahref)
/* see above */
hrefs->contents[hrefs->count-1] = cli_strdup(hrefs->value[in_ahref-1]);
hrefs->contents[hrefs->count-1] = (unsigned char*)cli_strdup((const char*)hrefs->value[in_ahref-1]);
if (in_form_action) {
/* form action is the real URL, and href is the 'displayed' */
html_tag_arg_add(hrefs,"form",arg_value);
contents.pos = 0;
html_tag_contents_append(&contents, in_form_action,
in_form_action + strlen(in_form_action));
in_form_action + strlen((const char*)in_form_action));
html_tag_contents_done(hrefs, hrefs->count, &contents);
}
}
@ -1215,14 +1215,14 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
/* a/img tags for buff_text can be processed only if we're not processing hrefs */
arg_value = html_tag_arg_value(&tag_args, "href");
if(arg_value && arg_value[0]) {
html_output_str(file_buff_text, arg_value, strlen(arg_value));
html_output_str(file_buff_text, (const unsigned char*)arg_value, strlen((const char*)arg_value));
html_output_c(file_buff_text, ' ');
text_space_written = TRUE;
}
} else if (strcmp(tag, "img") == 0) {
arg_value = html_tag_arg_value(&tag_args, "src");
if(arg_value && arg_value[0]) {
html_output_str(file_buff_text, arg_value, strlen(arg_value));
html_output_str(file_buff_text, (const unsigned char*)arg_value, strlen((const char*)arg_value));
html_output_c(file_buff_text, ' ');
text_space_written = TRUE;
}
@ -1353,7 +1353,7 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
break;
case HTML_LOOKFOR_SCRENC:
look_for_screnc = TRUE;
ptr_screnc = strstr(ptr, "#@~^");
ptr_screnc = (unsigned char*)strstr((char*)ptr, "#@~^");
if(ptr_screnc) {
ptr_screnc[0] = '/';
ptr_screnc[1] = '/';
@ -1364,7 +1364,7 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
break;
case HTML_JSDECODE:
/* Check for start marker */
if (strncmp(ptr, "#@~^", 4) == 0) {
if (strncmp((const char*)ptr, "#@~^", 4) == 0) {
ptr[0] = '/';
ptr[1] = '/';
ptr += 4;
@ -1376,7 +1376,7 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
}
break;
case HTML_JSDECODE_LENGTH:
if (strlen(ptr) < 8) {
if (strlen((const char*)ptr) < 8) {
state = HTML_NORM;
next_state = HTML_BAD_STATE;
break;
@ -1498,15 +1498,15 @@ static int cli_html_normalise(int fd, m_area_t *m_area, const char *dirname, tag
}
file_tmp_o1->length = 0;
html_output_str(file_tmp_o1, "From html-normalise\n", 20);
html_output_str(file_tmp_o1, "Content-type: ", 14);
html_output_str(file_tmp_o1, (const unsigned char*)"From html-normalise\n", 20);
html_output_str(file_tmp_o1, (const unsigned char*)"Content-type: ", 14);
if ((tag_val_length == 0) && (*tag_val == ';')) {
html_output_str(file_tmp_o1, "text/plain\n", 11);
html_output_str(file_tmp_o1, (const unsigned char*)"text/plain\n", 11);
}
html_output_str(file_tmp_o1, tag_val, tag_val_length);
html_output_str(file_tmp_o1, (const unsigned char*)tag_val, tag_val_length);
html_output_c(file_tmp_o1, '\n');
if (strstr(tag_val, ";base64") != NULL) {
html_output_str(file_tmp_o1, "Content-transfer-encoding: base64\n", 34);
html_output_str(file_tmp_o1, (const unsigned char*)"Content-transfer-encoding: base64\n", 34);
}
html_output_c(file_tmp_o1, '\n');
} else {
@ -1751,8 +1751,8 @@ int html_screnc_decode(int fd, const char *dirname)
return FALSE;
}
snprintf(filename, 1024, "%s/screnc.html", dirname);
ofd = open(filename, O_WRONLY|O_CREAT|O_TRUNC, S_IWUSR|S_IRUSR);
snprintf((char*)filename, 1024, "%s/screnc.html", dirname);
ofd = open((const char*)filename, O_WRONLY|O_CREAT|O_TRUNC, S_IWUSR|S_IRUSR);
if (ofd < 0) {
cli_dbgmsg("open failed: %s\n", filename);
@ -1761,7 +1761,7 @@ int html_screnc_decode(int fd, const char *dirname)
}
while ((line = cli_readchunk(stream_in, NULL, 8192)) != NULL) {
ptr = strstr(line, "#@~^");
ptr = (unsigned char*)strstr((char*)line, "#@~^");
if (ptr) {
break;
}
@ -1801,7 +1801,7 @@ int html_screnc_decode(int fd, const char *dirname)
cli_writen(ofd, "<script>",strlen("<script>"));
while (screnc_state.length && line) {
screnc_decode(ptr, &screnc_state);
cli_writen(ofd, ptr, strlen(ptr));
cli_writen(ofd, ptr, strlen((const char*)ptr));
free(line);
if (screnc_state.length) {
ptr = line = cli_readchunk(stream_in, NULL, 8192);

@ -866,6 +866,8 @@ void cli_js_parse_done(struct parser_state* state)
case SingleQString:
end = '\'';
break;
default: /* make gcc happy */
break;
}
if (end != '\0')
cli_js_process_buffer(state, &end, 1);
@ -1557,6 +1559,8 @@ static int yylex(YYSTYPE *lvalp, yyscan_t scanner)
}
scanner->state = Initial;
break;
default:
assert(0 && "Not reached");
}
}
return 0;

@ -571,7 +571,7 @@ char *cli_mp_strdup(mp_t *mp, const char *s) {
return alloc;
}
char *cli_mp_virname(mp_t *mp, char *virname, unsigned int official) {
char *cli_mp_virname(mp_t *mp, const char *virname, unsigned int official) {
char *newname, *pt;
if(!virname)
return NULL;

@ -34,7 +34,7 @@ void *mp_realloc(mp_t *mp, void *ptr, size_t size);
void *mp_realloc2(mp_t *mp, void *ptr, size_t size);
unsigned char *cli_mp_hex2str(mp_t* mp, const unsigned char *src);
char *cli_mp_strdup(mp_t *mp, const char *s);
char *cli_mp_virname(mp_t *mp, char *virname, unsigned int official);
char *cli_mp_virname(mp_t *mp, const char *virname, unsigned int official);
uint16_t *cli_mp_hex2ui(mp_t *mp, const char *hex);
void mp_flush(mp_t *mp);
int mp_getstats(const struct cl_engine *engine, size_t *used, size_t *total);

@ -905,7 +905,7 @@ int cli_scanpe(int desc, cli_ctx *ctx)
epsize = cli_readn(desc, epbuff, 4096);
CLI_UNPTEMP("DISASM",(exe_sections,0));
disasmbuf(epbuff, epsize, ndesc);
disasmbuf((unsigned char*)epbuff, epsize, ndesc);
lseek(ndesc, 0, SEEK_SET);
ret = cli_scandesc(ndesc, ctx, CL_TYPE_PE_DISASM, 1, NULL, AC_SCAN_VIR);
close(ndesc);

@ -785,7 +785,7 @@ int phishingScan(const char* dir,cli_ctx* ctx,tag_arguments_t* hrefs)
urls.always_check_flags |= CHECK_CLOAKING;
}
string_init_c(&urls.realLink,(char*)hrefs->value[i]);
string_init_c(&urls.displayLink, hrefs->contents[i]);
string_init_c(&urls.displayLink, (char*)hrefs->contents[i]);
string_init_c(&urls.pre_fixup.pre_displayLink, NULL);
urls.realLink.refcount=-1;
@ -961,8 +961,8 @@ static const uint8_t URI_xpalpha_nodot[256] = {
static inline int validate_uri_xalphas_nodot(const char *start, const char *end)
{
const unsigned char *p = start;
for(p=start;p < (const unsigned char*)end; p++) {
const unsigned char *p;
for(p=(const unsigned char*)start;p < (const unsigned char*)end; p++) {
if(!URI_xalpha_nodot[*p])
return 0;
}
@ -971,8 +971,8 @@ static inline int validate_uri_xalphas_nodot(const char *start, const char *end)
static inline int validate_uri_xpalphas_nodot(const char *start, const char *end)
{
const unsigned char *p = start;
for(p=start;p < (const unsigned char*)end; p++) {
const unsigned char *p;
for(p=(const unsigned char*)start;p < (const unsigned char*)end; p++) {
if(!URI_xpalpha_nodot[*p])
return 0;
}
@ -983,7 +983,7 @@ static inline int validate_uri_xpalphas_nodot(const char *start, const char *end
static inline int validate_uri_ialpha(const char *start, const char *end)
{
const unsigned char *p = start;
const unsigned char *p = (const unsigned char*) start;
if(start >= end || !URI_alpha[*p])
return 0;
return validate_uri_xalphas_nodot(start + 1, end);
@ -994,7 +994,6 @@ static inline int validate_uri_ialpha(const char *start, const char *end)
*/
static int isURL(const struct phishcheck* pchk,const char* URL, int accept_anyproto)
{
size_t len;
const char *start = NULL, *p, *q, *end;
if(!URL)
return 0;

@ -1154,7 +1154,7 @@ static int cli_loadftm(FILE *fs, struct cl_engine **engine, unsigned int options
static int cli_loadign(FILE *fs, struct cl_engine **engine, unsigned int options, struct cli_dbio *dbio)
{
const char *tokens[IGN_TOKENS];
char buffer[FILEBUFF], *pt;
char buffer[FILEBUFF];
unsigned int line = 0;
struct cli_ignsig *new;
struct cli_ignored *ignored;
@ -1398,7 +1398,7 @@ static int cli_loadmd5(FILE *fs, struct cl_engine **engine, unsigned int *signo,
static int cli_loadmd(FILE *fs, struct cl_engine **engine, unsigned int *signo, int type, unsigned int options, struct cli_dbio *dbio, const char *dbname)
{
const char *tokens[MD_TOKENS];
char buffer[FILEBUFF], *pt;
char buffer[FILEBUFF];
unsigned int line = 0, sigs = 0;
int ret = CL_SUCCESS, crc;
struct cli_meta_node *new;

@ -56,7 +56,7 @@ enum { UPACK_399, UPACK_11_12, UPACK_0151477, UPACK_0297729 };
int unupack(int upack, char *dest, uint32_t dsize, char *buff, uint32_t vma, uint32_t ep, uint32_t base, uint32_t va, int file)
{
int j, searchval;
char *loc_esi, *loc_edi, *loc_ebx, *end_edi, *save_edi, *alvalue;
char *loc_esi, *loc_edi = NULL, *loc_ebx, *end_edi, *save_edi, *alvalue;
char *paddr, *pushed_esi, *save2;
uint32_t save1, save3, loc_ecx, count, shlsize, original_ep, ret, loc_ebx_u;
struct cli_exe_section section;

@ -530,8 +530,8 @@ int upx_inflatelzma(char *src, uint32_t ssize, char *dst, uint32_t *dsize, uint3
cli_LzmaInitUPX(&lz, *dsize);
s.avail_in = ssize;
s.avail_out = *dsize;
s.next_in = src+2;
s.next_out = dst;
s.next_in = (unsigned char*)src+2;
s.next_out = (unsigned char*)dst;
if(cli_LzmaDecode(&lz, &s)==LZMA_RESULT_DATA_ERROR) {
/* __asm__ __volatile__("int3"); */

@ -917,7 +917,7 @@ static int rar_unpack29(int fd, int solid, unpack_data_t *unpack_data)
continue;
}
if (next_ch == 4) {
unsigned int length;
unsigned int length = 0;
distance = 0;
failed = FALSE;
for (i=0 ; i < 4 && !failed; i++) {

@ -562,6 +562,8 @@ static void execute_standard_filter(rarvm_data_t *rarvm_data, rarvm_standard_fil
SET_VALUE(FALSE, &rarvm_data->mem[VM_GLOBALMEMADDR+0x1c], dest_pos-data_size);
SET_VALUE(FALSE, &rarvm_data->mem[VM_GLOBALMEMADDR+0x20], data_size);
break;
default: /* make gcc happy */
break;
}
}
@ -989,6 +991,8 @@ static void rarvm_optimize(struct rarvm_prepared_program *prg)
case VM_CMP:
cmd->op_code = cmd->byte_mode ? VM_CMPB:VM_CMPD;
continue;
default: /* make gcc happy */
break;
}
if ((vm_cmdflags[cmd->op_code] & VMCF_CHFLAGS) == 0) {
continue;
@ -1023,6 +1027,8 @@ static void rarvm_optimize(struct rarvm_prepared_program *prg)
case VM_NEG:
cmd->op_code = cmd->byte_mode ? VM_NEGB:VM_NEGD;
continue;
default: /* make gcc happy */
break;
}
}
}

@ -185,7 +185,7 @@ static unrar_fileheader_t *read_block(int fd, header_type hdr_type)
unrar_dbgmsg("UNRAR: Pack Size: %u\n", file_header->pack_size);
unrar_dbgmsg("UNRAR: UnPack Version: 0x%.2x\n", file_header->unpack_ver);
unrar_dbgmsg("UNRAR: Pack Method: 0x%.2x\n", file_header->method);
file_header->filename = (char *) malloc(file_header->name_size+1);
file_header->filename = (unsigned char *) malloc(file_header->name_size+1);
if(!file_header->filename) {
free(file_header);
return NULL;
@ -393,7 +393,7 @@ int unrar_extract_next_prepare(unrar_state_t *state, const char *dirname)
new_metadata->unpack_size = state->file_header->high_unpack_size * 0x100000000ULL + state->file_header->unpack_size;
new_metadata->crc = state->file_header->file_crc;
new_metadata->method = state->file_header->method;
new_metadata->filename = strdup(state->file_header->filename);
new_metadata->filename = strdup((const char*)state->file_header->filename);
if(!new_metadata->filename) {
free(new_metadata);
return UNRAR_EMEM;

Loading…
Cancel
Save