Re: [PATCH] ASoC: soc-dapm: Fix comparison of pointers

From: Mark Brown
Date: Fri Dec 12 2014 - 08:21:31 EST


On Tue, Dec 09, 2014 at 10:53:41PM +0100, Rasmus Villemoes wrote:

> if (a->reg != b->reg)
> return a->reg - b->reg;
> - if (a->dapm != b->dapm)
> - return (unsigned long)a->dapm - (unsigned long)b->dapm;
> + if (a->dapm < b->dapm)
> + return -1;
> + if (a->dapm > b->dapm)
> + return 1;

If we're worrying about standards conformance type stuff here this is
also buggy since it's out of spec to compare pointers that are not part
of the same array like this. Casting to uintptr_t is a better fix here.

Attachment: signature.asc
Description: Digital signature