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);
 

Reply via email to