]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: libsmb: Cleanup - ensure we don't try and continue resolving names on failure...
authorJeremy Allison <jra@samba.org>
Tue, 21 Jul 2020 03:57:44 +0000 (20:57 -0700)
committerIsaac Boukris <iboukris@sn-devel-184>
Tue, 4 Aug 2020 08:51:41 +0000 (08:51 +0000)
Logic change, but correct error cleanup - jump to new 'fail:' label.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Isaac Boukris <iboukris@samba.org>
source3/libsmb/namequery.c

index 642f7b91b5a997c19b02c1ea6ca0328cd56ff115..f1d6de6a61a8204458eadbb6b3f6a6d2458cdbd9 100644 (file)
@@ -2682,6 +2682,7 @@ NTSTATUS internal_resolve_name(const char *name,
                                                        ss_list,
                                                        return_count)) {
                                        status = NT_STATUS_NO_MEMORY;
+                                       goto fail;
                                }
                                goto done;
                        }
@@ -2714,6 +2715,7 @@ NTSTATUS internal_resolve_name(const char *name,
                                                        ss_list,
                                                        return_count)) {
                                        status = NT_STATUS_NO_MEMORY;
+                                       goto fail;
                                }
                                goto done;
                        }
@@ -2730,6 +2732,7 @@ NTSTATUS internal_resolve_name(const char *name,
                                                                ss_list,
                                                                return_count)) {
                                                status = NT_STATUS_NO_MEMORY;
+                                               goto fail;
                                        }
                                        goto done;
                                }
@@ -2744,6 +2747,7 @@ NTSTATUS internal_resolve_name(const char *name,
                                                        ss_list,
                                                        return_count)) {
                                        status = NT_STATUS_NO_MEMORY;
+                                       goto fail;
                                }
                                goto done;
                        }
@@ -2755,6 +2759,8 @@ NTSTATUS internal_resolve_name(const char *name,
 
        /* All of the resolve_* functions above have returned false. */
 
+  fail:
+
        TALLOC_FREE(frame);
        SAFE_FREE(*return_iplist);
        *return_count = 0;