[PATCH v2] top: fix and merge code to parse /proc/meminfo

Bartosz Gołaszewski bartekgola at gmail.com
Mon Jul 28 15:52:41 UTC 2014


2014-07-28 17:25 GMT+02:00 Timo Teras <timo.teras at iki.fi>:
> So something like:
>
> diff --git a/procps/top.c b/procps/top.c
> index 62f9421..119c32b 100644
> --- a/procps/top.c
> +++ b/procps/top.c
> @@ -536,7 +536,7 @@ static void parse_meminfo(unsigned long meminfo[MI_MAX])
>         FILE *f;
>         int i;
>
> -       memset(meminfo, 0, sizeof(meminfo));
> +       memset(meminfo, 0, MI_MAX*sizeof(meminfo[0]));
>         f = xfopen_for_read("meminfo");
>         while (fgets(buf, sizeof(buf), f) != NULL) {
>                 char *c = strchr(buf, ':');
>
> Would be needed to fix it.

This should be memset(meminfo, 0, MI_MAX*sizeof(unsigned long))
otherwise you're taking the size of a pointer.

Best regards,
Bartosz Gołaszewski


More information about the busybox mailing list