summaryrefslogtreecommitdiff
path: root/source3/smbd/vfs.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2012-06-11 11:33:45 +0200
committerStefan Metzmacher <metze@samba.org>2012-06-11 17:26:53 +0200
commit34c24c20c9a33200ebd910c5cf9c9e14b38f3d50 (patch)
treeea7bd6cc4c477d4c0a114f9931974b53b24c34b3 /source3/smbd/vfs.c
parente1a4d3cdd455616a9c6cb0cff543de2b5fdc2766 (diff)
downloadsamba-34c24c20c9a33200ebd910c5cf9c9e14b38f3d50.tar.gz
samba-34c24c20c9a33200ebd910c5cf9c9e14b38f3d50.tar.bz2
samba-34c24c20c9a33200ebd910c5cf9c9e14b38f3d50.zip
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
Diffstat (limited to 'source3/smbd/vfs.c')
-rw-r--r--source3/smbd/vfs.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/source3/smbd/vfs.c b/source3/smbd/vfs.c
index 6d090a95de..32e3472efe 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));
}