libftdi Archives

Subject: Re: [1.0] 2 invalid frees and multiple invalid reads and writes in ftdi_usb_get_strings

From: Matthias Janke <matthias.janke@xxxxxxxxxxxxxxxxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Tue, 28 Jun 2011 11:50:29 +0200
Am Mon, 27 Jun 2011 15:33:29 +0200
schrieb Matthias Janke <matthias.janke@xxxxxxxxxxxxxxxxxxxxxxx>:

> As far as I could locate 
> it they all come from ftdi_usb_get_strings downwards.

That was actually wrong. The root of the problem is that in ftdi_usb_find_all 
at line 307 devs is completely freed, while devlist has still references to  
elements in dev. So using devlist in any way causes invalid reads, writes and 
frees. A solution would be to add an else to the if in line 294 which frees 
just the non ftdi elements of devs. but would that be a clean solution? why is 
devlist aliased to currdev?

Cheers
Matthias 
-- 
---------------------------------------------------------------------
 Dipl.-Phys. Matthias Janke

 Physikalisches Institut der Universität Heidelberg
 Philosophenweg 12
 69120 Heidelberg
 Deutschland

 Tel:    +49 (6221) 54 93 72
 Fax:    +49 (6221) 54 94 52
 E-Mail: matthias.janke@xxxxxxxxxxxxxxxxxxxxxxx

 Büro:
 Albert-Überle-Straße 3-5
 Zi. 158, Ostflügel, 1.OG
---------------------------------------------------------------------

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx

Current Thread