Return-Path: From: "Daryl Van Vorst" To: "'BlueZ Mailing List'" Message-ID: <001401c51b9d$4c81af30$1a01010a@baked> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Subject: [Bluez-devel] Cleaning up after sdp_get_access_protos() Sender: bluez-devel-admin@lists.sourceforge.net Errors-To: bluez-devel-admin@lists.sourceforge.net Reply-To: bluez-devel@lists.sourceforge.net List-Unsubscribe: , List-Id: BlueZ development List-Post: List-Help: List-Subscribe: , List-Archive: Date: Fri, 25 Feb 2005 16:51:22 -0800 Hi, This stuff hurts my brain, so I was hoping someone (Marcel? ;) could = verify my logic. I'm mentioning this mostly because the utils code gets used as example = code. In this snippet from sdptool.c, proto is cleaned up with sdp_list_free(proto, (sdp_free_func_t)sdp_data_free); if (sdp_get_access_protos(rec, &proto) =3D=3D 0) { printf("Protocol Descriptor List:\n"); sdp_list_foreach(proto, print_access_protos, 0); sdp_list_free(proto, (sdp_free_func_t)sdp_data_free); } I think the cleanup should be: sdp_list_foreach(proto,(sdp_list_func_t)sdp_list_free,0); sdp_list_free(proto,0); Looking at sdp.c source (in libs), sdp_get_access_protos() returns a = list of lists of data sequences. The data sequences themselves shouldn't be = freed at this point because they weren't allocated by sdp_get_access_protos() = (thus the ,0 in the sdp_list_foreach call). But the list of lists is allocated inside sdp_get_access_protos(). -Daryl. ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Bluez-devel mailing list Bluez-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bluez-devel