The branch, v3-2-test has been updated
       via  735235e32bf41a7564ce2d585c1dae187b00bf6b (commit)
      from  9a7a2777e4ea1a2b5d7c800af8522b38cf22c511 (commit)

http://gitweb.samba.org/?samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit 735235e32bf41a7564ce2d585c1dae187b00bf6b
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Thu Feb 28 14:29:44 2008 +0100

    Some fixes for net ads join (uninitialized vars).
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source/utils/net_ads.c |   17 ++++++++---------
 1 files changed, 8 insertions(+), 9 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/utils/net_ads.c b/source/utils/net_ads.c
index b87920a..345665d 100644
--- a/source/utils/net_ads.c
+++ b/source/utils/net_ads.c
@@ -1434,9 +1434,9 @@ int net_ads_join(int argc, const char **argv)
 {
        NTSTATUS nt_status;
        TALLOC_CTX *ctx = NULL;
-       struct libnet_JoinCtx *r;
+       struct libnet_JoinCtx *r = NULL;
        const char *domain = lp_realm();
-       WERROR werr;
+       WERROR werr = WERR_SETUP_NOT_JOINED;
        bool createupn = False;
        const char *machineupn = NULL;
        const char *create_in_ou = NULL;
@@ -1447,6 +1447,7 @@ int net_ads_join(int argc, const char **argv)
        nt_status = check_ads_config();
        if (!NT_STATUS_IS_OK(nt_status)) {
                d_fprintf(stderr, "Invalid configuration.  Exiting....\n");
+               werr = ntstatus_to_werror(nt_status);
                goto fail;
        }
 
@@ -1454,13 +1455,12 @@ int net_ads_join(int argc, const char **argv)
 
        werr = libnet_init_JoinCtx(ctx, &r);
        if (!W_ERROR_IS_OK(werr)) {
-               nt_status = werror_to_ntstatus(werr);
                goto fail;
        }
 
        if (!(ctx = talloc_init("net_ads_join"))) {
                d_fprintf(stderr, "Could not initialise talloc context.\n");
-               nt_status = NT_STATUS_NO_MEMORY;
+               werr = WERR_NOMEM;
                goto fail;
        }
 
@@ -1474,21 +1474,21 @@ int net_ads_join(int argc, const char **argv)
                else if ( !StrnCaseCmp(argv[i], "createcomputer", 
strlen("createcomputer")) ) {
                        if ( (create_in_ou = get_string_param(argv[i])) == NULL 
) {
                                d_fprintf(stderr, "Please supply a valid OU 
path.\n");
-                               nt_status = NT_STATUS_INVALID_PARAMETER;
+                               werr = WERR_INVALID_PARAM;
                                goto fail;
                        }
                }
                else if ( !StrnCaseCmp(argv[i], "osName", strlen("osName")) ) {
                        if ( (os_name = get_string_param(argv[i])) == NULL ) {
                                d_fprintf(stderr, "Please supply a operating 
system name.\n");
-                               nt_status = NT_STATUS_INVALID_PARAMETER;
+                               werr = WERR_INVALID_PARAM;
                                goto fail;
                        }
                }
                else if ( !StrnCaseCmp(argv[i], "osVer", strlen("osVer")) ) {
                        if ( (os_version = get_string_param(argv[i])) == NULL ) 
{
                                d_fprintf(stderr, "Please supply a valid 
operating system version.\n");
-                               nt_status = NT_STATUS_INVALID_PARAMETER;
+                               werr = WERR_INVALID_PARAM;
                                goto fail;
                        }
                }
@@ -1565,12 +1565,11 @@ int net_ads_join(int argc, const char **argv)
 fail:
        /* issue an overall failure message at the end. */
        d_printf("Failed to join domain: %s\n",
-               r->out.error_string ? r->out.error_string :
+               r && r->out.error_string ? r->out.error_string :
                get_friendly_werror_msg(werr));
        TALLOC_FREE( ctx );
 
         return -1;
-
 }
 
 /*******************************************************************


-- 
Samba Shared Repository

Reply via email to