At 03/16/2012 11:23 AM, HATAYAMA Daisuke Wrote:
> From: Wen Congyang <we...@cn.fujitsu.com>
> Subject: [RFC][PATCH 11/14 v9] introduce a new monitor command 'dump' to dump 
> guest's memory
> Date: Wed, 14 Mar 2012 10:11:35 +0800
> 
>> +/*
>> + * QEMU dump
>> + *
>> + * Copyright Fujitsu, Corp. 2011
>> + *
> 
> Now 2012.

On, I forgot to update it.

> 
>> +    /*
>> +     * calculate phdr_num
>> +     *
>> +     * the type of phdr->num is uint16_t, so we should avoid overflow
> 
> e_phnum is correct.

Yes
> 
>> +     */
>> +    s->phdr_num = 1; /* PT_NOTE */
>> +    if (s->list.num < (1 << 16) - 2) {
> 
> s->list.num < UINT16_MAX is better.
> 
>> +        s->phdr_num += s->list.num;
>> +        s->have_section = false;
>> +    } else {
>> +        s->have_section = true;
>> +        s->phdr_num = PN_XNUM;
>> +
>> +        /* the type of shdr->sh_info is uint32_t, so we should avoid 
>> overflow */
>> +        if (s->list.num > (1ULL << 32) - 2) {
> 
> s->list.num < UINT32_MAX is better.
> 
>> +            s->sh_info = 0xffffffff;
> 
> UINT32_MAX is better. Is it rough around here?
> 
>> +        } else {
>> +            s->sh_info += s->list.num;
>> +        }
>> +    }
> 
> Now orders of processings in positive and negative cases for e_phnum
> and sh_info are different. It's better to make them sorted in the same
> order.
> 
>   if (phdr_num not overflow?) {
>     not overflow case;
>   } else {
>     overflow case;
>     if (sh_info not overflow?) {
>       not overflow case;
>     } else {
>       overflow case;
>     }
>   }
> 
> is better.

OK

Thanks
Wen Congyang
> 
> Thanks.
> HATAYAMA, Daisuke
> 
> 


Reply via email to