diff options
| author | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-11-13 09:26:11 +0000 |
|---|---|---|
| committer | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-11-13 09:26:11 +0000 |
| commit | b2f4127653d868e987df2140b9ad992bcdd558d3 (patch) | |
| tree | 434eaba341eaf111203ac9106f210524ee8d6d14 /src/libs | |
| parent | be1f5b737ec9d68ef97ab716cf982d9445e64f20 (diff) | |
| download | zabbix-b2f4127653d868e987df2140b9ad992bcdd558d3.tar.gz zabbix-b2f4127653d868e987df2140b9ad992bcdd558d3.tar.xz zabbix-b2f4127653d868e987df2140b9ad992bcdd558d3.zip | |
- [NTT-29] zabbix_server process on master node terminated unexpectedly
[svn merge -r4999:5000 svn://svn.zabbix.com/branches/1.4.j]
git-svn-id: svn://svn.zabbix.com/trunk@5001 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/libs')
| -rw-r--r-- | src/libs/zbxcommon/str.c | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/src/libs/zbxcommon/str.c b/src/libs/zbxcommon/str.c index 4b7738d3..227b48dc 100644 --- a/src/libs/zbxcommon/str.c +++ b/src/libs/zbxcommon/str.c @@ -260,10 +260,9 @@ void __zbx_zbx_snprintf_alloc(char **str, int *alloc_len, int *offset, int max_l va_start(args, fmt); - if(*offset + max_len >= *alloc_len) - { - *str = zbx_realloc(*str, (*alloc_len)+2*max_len); - *alloc_len += 2*max_len; + if (*offset + max_len >= *alloc_len) { + *alloc_len += 2 * max_len; + *str = zbx_realloc(*str, *alloc_len); } *offset += zbx_vsnprintf(*str+*offset, max_len, fmt, args); @@ -1229,20 +1228,19 @@ int zbx_binary2hex(const u_char *input, int ilen, char **output, int *olen) int zbx_hex2binary(char *io) { const char *i = io; - u_char *o = (u_char *)io, c; - int len = 0; + char *o = io; + u_char c; assert(io); while(*i != '\0') { c = zbx_hex2num( *i++ ) << 4; c += zbx_hex2num( *i++ ); - *o++ = c; - len++; + *o++ = (char)c; } *o = '\0'; - return len; + return o - io; } #ifdef HAVE_POSTGRESQL @@ -1412,19 +1410,14 @@ char *zbx_get_next_field(const char *line, char **output, int *olen, char separa int flen; ret = strchr(line, separator); - if(ret) - { + if (ret) { flen = ret-line; ret++; - } - else - { + } else flen = strlen(line); - } - if(*olen < flen) - { - *olen = flen; + if (*olen < flen + 1) { + *olen = flen * 2; *output = zbx_realloc(*output, *olen); } memcpy(*output, line, flen); |
