[alsa-devel] [PATCH] ALSA: usb-audio: fix possible hang and overflow in parse_uac2_sample_rate_range()

Takashi Iwai tiwai at suse.de
Sun Jan 8 14:20:15 CET 2012


At Sun, 8 Jan 2012 07:45:09 -0500,
Xi Wang wrote:
> 
> On Jan 8, 2012, at 4:09 AM, Takashi Iwai wrote:
> > As of now, I have little time to evaluate, so I might have missed
> > something, but I wonder whether 
> > 
> > 		/* avoid overflow */
> > 		if (nr_rates == KMALLOC_MAX_SIZE / sizeof(int))
> > 			break;
> > 
> > is the best way to check.  This looks ugly to me.
> > If we need to limit the number of rates, better to define some proper
> > numbers as the upper limit.  And then, it should warn, not only
> > breaking loop.
> 
> Thanks for looking into this.  Yeah, I agree using something like
> MAX_NR_RATES is better.  Is 65535 okay or do we need a larger limit?

It's way too higher than any realistic situation ;)
I guess 1000 or such should suffice.


thanks,

Takashi


More information about the Alsa-devel mailing list