On Tue, Apr 22, 2014 at 03:16:40PM +0800, Ruoyu wrote:
> The return type of snprintf is int. If an output error is encountered,
> a negative value is returned. Assigning a negative value to a variable
> in type of size_t is danger. The result will be a huge positive number
> and the error branch will never be reached.
> To avoid it, change the type of variable 'len' to ssize_t. In Comparison,
> convert it back to size_t.
> 
> Signed-off-by: Ruoyu <lian...@ucweb.com>
> ---
>  lib/logger.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/lib/logger.c b/lib/logger.c
> index af7b32a..6829f45 100644
> --- a/lib/logger.c
> +++ b/lib/logger.c
> @@ -171,7 +171,7 @@ static int server_log_formatter(char *buff, size_t size,
>  {
>       char *p = buff;
>       struct tm tm;
> -     size_t len;
> +     ssize_t len;
>       char thread_name[MAX_THREAD_NAME_LEN];
>  
>       if (print_time) {
> @@ -193,7 +193,7 @@ static int server_log_formatter(char *buff, size_t size,
>                      msg->str, colorize ? TEXT_NORMAL : "");
>       if (len < 0)
>               len = 0;
> -     p += min(len, size - 1);
> +     p += min((size_t)len, size - 1);
>  
>       return p - buff;
>  }
> @@ -212,7 +212,7 @@ static int json_log_formatter(char *buff, size_t size,
>                             const struct logmsg *msg, bool print_time)
>  {
>       char *p = buff;
> -     size_t len;
> +     ssize_t len;
>  
>       assert(logger_user_info);
>  
> @@ -229,7 +229,7 @@ static int json_log_formatter(char *buff, size_t size,
>                      msg->worker_idx, msg->func, msg->line);
>       if (len < 0)
>               return 0;
> -     len = min(len, size - 1);
> +     len = min((size_t)len, size - 1);
>       p += len;
>       size -= len;
>  
> -- 
> 1.8.3.2
> 
> 
> -- 
> sheepdog mailing list
> sheepdog@lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog

Applied thanks

Yuan
-- 
sheepdog mailing list
sheepdog@lists.wpkg.org
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to