[Pkg-clamav-commits] [SCM] Debian repository for ClamAV branch, debian/unstable, updated. debian/0.95+dfsg-1-6156-g094ec9b
Török Edvin
edwin at clamav.net
Sun Apr 4 01:08:21 UTC 2010
The following commit has been merged in the debian/unstable branch:
commit 4b2ade1d3b9972bdc44a34b876d74bcb680a2d74
Author: Török Edvin <edwin at clamav.net>
Date: Mon Oct 26 18:05:51 2009 +0200
Fix the FreeBSD crash fix (bb #1727).
diff --git a/libclamav/jsparse/js-norm.c b/libclamav/jsparse/js-norm.c
index 9de9dea..2c35086 100644
--- a/libclamav/jsparse/js-norm.c
+++ b/libclamav/jsparse/js-norm.c
@@ -500,17 +500,14 @@ static const char *de_packer_2[] = {"p","a","c","k","e","d"};
static inline char *textbuffer_done(yyscan_t scanner)
{
- char *str = 0;
- /* free unusued memory */
- if (!scanner->buf.pos)
- scanner->buf.pos++;
- str = cli_realloc(scanner->buf.data, scanner->buf.pos);
- if(!str)
- str = scanner->buf.data;
-/* memset(&scanner->buf, 0, sizeof(scanner->buf));
- scanner->yytext = str;
- scanner->yylen = scanner->buf.pos ? scanner->buf.pos - 1 : 0;*/
- return str;
+ char *str = cli_realloc(scanner->buf.data, scanner->buf.pos);
+ if(!str) {
+ str = scanner->buf.data;
+ }
+ scanner->yytext = str;
+ scanner->yylen = scanner->buf.pos - 1;
+ memset(&scanner->buf, 0, sizeof(scanner->buf));
+ return str;
}
#define MODULE "JS-Norm: "
@@ -533,7 +530,7 @@ static int replace_token_range(struct tokens *dst, size_t start, size_t end, con
for(i=start;i<end;i++) {
free_token(&dst->data[i]);
}
- if(tokens_ensure_capacity(dst, dst->cnt - (end-start) + len) < 0)
+ if(tokens_ensure_capacity(dst, dst->cnt - (end-start) + len))
return CL_EMEM;
memmove(&dst->data[start+len], &dst->data[end], (dst->cnt - end) * sizeof(dst->data[0]));
if(with && len > 0) {
@@ -547,7 +544,7 @@ static int append_tokens(struct tokens *dst, const struct tokens *src)
{
if(!dst || !src)
return CL_ENULLARG;
- if(tokens_ensure_capacity(dst, dst->cnt + src->cnt) == -1)
+ if(tokens_ensure_capacity(dst, dst->cnt + src->cnt))
return CL_EMEM;
cli_dbgmsg(MODULE "Appending %lu tokens\n", src->cnt);
memcpy(&dst->data[dst->cnt], src->data, src->cnt * sizeof(dst->data[0]));
@@ -1256,7 +1253,7 @@ static const enum char_class id_ctype[256] = {
static void textbuf_clean(struct text_buffer *buf)
{
if(buf->capacity > BUF_KEEP_SIZE) {
- yystype *data= cli_realloc(buf->data, BUF_KEEP_SIZE);
+ char *data= cli_realloc(buf->data, BUF_KEEP_SIZE);
if (data)
buf->data = data;
buf->capacity = BUF_KEEP_SIZE;
@@ -1344,6 +1341,8 @@ static inline int parseNumber(YYSTYPE *lvalp, yyscan_t scanner)
scanner->pos--;
textbuffer_putc(&scanner->buf, '\0');
scanner->state = Initial;
+ if (!scanner->buf.data)
+ return 0;
if(is_float) {
TOKEN_SET(lvalp, dval, atof(scanner->buf.data));
return TOK_NumericFloat;
@@ -1444,14 +1443,13 @@ static int yy_scan_bytes(const char *p, size_t len, yyscan_t scanner)
static const char *yyget_text(yyscan_t scanner)
{
- assert(scanner->yytext || scanner->buf.data);
- return scanner->yytext ? scanner->yytext : scanner->buf.data;
+ return scanner->yytext ? scanner->yytext : scanner->buf.data;
}
static int yyget_leng(yyscan_t scanner)
{
/* we have a \0 too */
- return scanner->yylen ? scanner->yylen : (scanner->buf.pos > 0 ? scanner->buf.pos - 1 : 0);
+ return scanner->yylen ? scanner->yylen: (scanner->buf.pos > 0 ? scanner->buf.pos - 1 : 0);
}
static int yylex(YYSTYPE *lvalp, yyscan_t scanner)
--
Debian repository for ClamAV
More information about the Pkg-clamav-commits
mailing list