On Tue, Jun 27, 2017 at 06:10:08PM +0800, JingPiao Chen wrote:
[...]
> +static bool
> +decode_meminfo(struct tcb *tcp, kernel_ulong_t addr,
> + kernel_ulong_t len, void *const opaque_data)
> +{
> + uint32_t mem;
> + int nmemb = len / sizeof(mem);
> +
> + if (!nmemb)
> + return false;
> +
> + if (nmemb > SK_MEMINFO_VARS)
> + nmemb = SK_MEMINFO_VARS;
> +
> + print_array(tcp, addr, nmemb, &mem, sizeof(mem),
> + umoven_or_printaddr, print_meminfo, 0);
> +
> + return true;
> +}The type of "nmemb" should be size_t. Imagine len == 2^34-4, then nmemb == 2^32-1, and if nmemb is a signed int, then nmemb == -1, and -1UL is passed to print_array. -- ldv
signature.asc
Description: PGP signature
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________ Strace-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/strace-devel
