diff options
author | Volker Lendecke <vl@samba.org> | 2012-06-11 11:33:45 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2012-06-11 17:26:53 +0200 |
commit | 34c24c20c9a33200ebd910c5cf9c9e14b38f3d50 (patch) | |
tree | ea7bd6cc4c477d4c0a114f9931974b53b24c34b3 | |
parent | e1a4d3cdd455616a9c6cb0cff543de2b5fdc2766 (diff) | |
download | samba-34c24c20c9a33200ebd910c5cf9c9e14b38f3d50.tar.gz |
s3: Fix Coverity ID 703869 Logically dead code
We "TALLOC_FREE(curr)" and assign prev=curr in the for-loop header.
This will lead to "prev"==NULL always. In this loop, we do not need
to correctly re-shuffle the linked list, we delete all from the
beginning anyway.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Mon Jun 11 17:26:53 CEST 2012 on sn-devel-104
-rw-r--r-- | source3/smbd/vfs.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/source3/smbd/vfs.c b/source3/smbd/vfs.c index 6d090a95de7..32e3472efe8 100644 --- a/source3/smbd/vfs.c +++ b/source3/smbd/vfs.c @@ -274,17 +274,13 @@ void vfs_remove_fsp_extension(vfs_handle_struct *handle, files_struct *fsp) void vfs_remove_all_fsp_extensions(files_struct *fsp) { struct vfs_fsp_data *curr; - struct vfs_fsp_data *prev; + struct vfs_fsp_data *next; + + for (curr = fsp->vfs_extension; curr; curr = next) { + + next = curr->next; + fsp->vfs_extension = next; - for (curr = fsp->vfs_extension, prev = NULL; - curr; - prev = curr, curr = curr->next) - { - if (prev) { - prev->next = curr->next; - } else { - fsp->vfs_extension = curr->next; - } if (curr->destroy) { curr->destroy(EXT_DATA_AREA(curr)); } |