Author: jra Date: 2006-03-13 23:48:13 +0000 (Mon, 13 Mar 2006) New Revision: 14355
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=14355 Log: Try and fix Coverity #158 by making the pointer aliasing clearer. This isn't a bug but a code clarification. Jeremy. Modified: branches/SAMBA_3_0/source/libsmb/smb_signing.c Changeset: Modified: branches/SAMBA_3_0/source/libsmb/smb_signing.c =================================================================== --- branches/SAMBA_3_0/source/libsmb/smb_signing.c 2006-03-13 23:07:20 UTC (rev 14354) +++ branches/SAMBA_3_0/source/libsmb/smb_signing.c 2006-03-13 23:48:13 UTC (rev 14355) @@ -426,18 +426,20 @@ static void simple_free_signing_context(struct smb_sign_info *si) { struct smb_basic_signing_context *data = si->signing_context; - struct outstanding_packet_lookup *list = data->outstanding_packet_list; + struct outstanding_packet_lookup *list; + struct outstanding_packet_lookup *next; - while (list) { - struct outstanding_packet_lookup *old_head = list; - DLIST_REMOVE(list, list); - SAFE_FREE(old_head); + for (list = data->outstanding_packet_list; list; list = next) { + next = list->next; + DLIST_REMOVE(data->outstanding_packet_list, list); + SAFE_FREE(list); } data_blob_free(&data->mac_key); - if (data->trans_info) + if (data->trans_info) { SAFE_FREE(data->trans_info); + } SAFE_FREE(si->signing_context);
