Author: vlendec
Date: 2006-03-12 10:57:42 +0000 (Sun, 12 Mar 2006)
New Revision: 14235

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=14235

Log:
Fix Coverity bug # 91
Modified:
   branches/SAMBA_3_0/source/libsmb/libsmbclient.c
   trunk/source/libsmb/libsmbclient.c


Changeset:
Modified: branches/SAMBA_3_0/source/libsmb/libsmbclient.c
===================================================================
--- branches/SAMBA_3_0/source/libsmb/libsmbclient.c     2006-03-12 10:52:56 UTC 
(rev 14234)
+++ branches/SAMBA_3_0/source/libsmb/libsmbclient.c     2006-03-12 10:57:42 UTC 
(rev 14235)
@@ -2594,6 +2594,10 @@
 
                         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 @@
                                         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 @@
                                               &targetcli, targetpath))
                        {
                                d_printf("Could not resolve %s\n", path);
+                               if (dir) {
+                                       SAFE_FREE(dir->fname);
+                                       SAFE_FREE(dir);
+                               }
                                return NULL;
                        }
                        

Modified: trunk/source/libsmb/libsmbclient.c
===================================================================
--- trunk/source/libsmb/libsmbclient.c  2006-03-12 10:52:56 UTC (rev 14234)
+++ trunk/source/libsmb/libsmbclient.c  2006-03-12 10:57:42 UTC (rev 14235)
@@ -2594,6 +2594,10 @@
 
                         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 @@
                                         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 @@
                                               &targetcli, targetpath))
                        {
                                d_printf("Could not resolve %s\n", path);
+                               if (dir) {
+                                       SAFE_FREE(dir->fname);
+                                       SAFE_FREE(dir);
+                               }
                                return NULL;
                        }
                        

Reply via email to