r14235: Fix Coverity bug # 91
authorVolker Lendecke <vlendec@samba.org>
Sun, 12 Mar 2006 10:57:42 +0000 (10:57 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:15:19 +0000 (11:15 -0500)
source/libsmb/libsmbclient.c

index a18e9910aa8cf9c3aa5d59febb3df14dd4e16d4c..75b2b37c06552544456ee299d0f5f0494a8af555 100644 (file)
@@ -2594,6 +2594,10 @@ smbc_opendir_ctx(SMBCCTX *context,
 
                         if (!find_master_ip(workgroup, &server_addr.ip)) {
 
+                               if (dir) {
+                                       SAFE_FREE(dir->fname);
+                                       SAFE_FREE(dir);
+                               }
                                 errno = ENOENT;
                                 return NULL;
                         }
@@ -2705,6 +2709,10 @@ smbc_opendir_ctx(SMBCCTX *context,
                                         DEBUG(0, ("Could not get name of "
                                                   "local/domain master browser "
                                                   "for server %s\n", server));
+                                       if (dir) {
+                                               SAFE_FREE(dir->fname);
+                                               SAFE_FREE(dir);
+                                       }
                                        errno = EPERM;
                                        return NULL;
 
@@ -2828,6 +2836,10 @@ smbc_opendir_ctx(SMBCCTX *context,
                                               &targetcli, targetpath))
                        {
                                d_printf("Could not resolve %s\n", path);
+                               if (dir) {
+                                       SAFE_FREE(dir->fname);
+                                       SAFE_FREE(dir);
+                               }
                                return NULL;
                        }