r14355: Try and fix Coverity #158 by making the pointer
authorJeremy Allison <jra@samba.org>
Mon, 13 Mar 2006 23:48:13 +0000 (23:48 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:15:26 +0000 (11:15 -0500)
aliasing clearer. This isn't a bug but a code
clarification.
Jeremy.
(This used to be commit 7ada96a1cfb1e928b7dfde101ca250b20024243f)

source3/libsmb/smb_signing.c

index f0f2024e7b9ff9f0ac477e36ddfb160d23c92732..52e4b1d04c5be9e88625bfef8da1b1ccb799284d 100644 (file)
@@ -426,18 +426,20 @@ We were expecting seq %u\n", reply_seq_number, saved_seq ));
 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);