diff options
Diffstat (limited to 'xlators/protocol/server/src/server-helpers.c')
| -rw-r--r-- | xlators/protocol/server/src/server-helpers.c | 17 | 
1 files changed, 17 insertions, 0 deletions
diff --git a/xlators/protocol/server/src/server-helpers.c b/xlators/protocol/server/src/server-helpers.c index b074ab9b5d0..ae33d6848d9 100644 --- a/xlators/protocol/server/src/server-helpers.c +++ b/xlators/protocol/server/src/server-helpers.c @@ -190,11 +190,28 @@ server_loc_wipe (loc_t *loc)  void  server_resolve_wipe (server_resolve_t *resolve)  { +        struct resolve_comp *comp = NULL; +        int                  i = 0; +          if (resolve->path)                  FREE (resolve->path);          if (resolve->bname)                  FREE (resolve->bname); + +        if (resolve->resolved) +                FREE (resolve->resolved); + +        loc_wipe (&resolve->deep_loc); + +        comp = resolve->components; +        if (comp) { +                for (i = 0; comp[i].basename; i++) { +                        if (comp[i].inode) +                                inode_unref (comp[i].inode); +                } +                FREE (resolve->components); +        }  }  | 
