diff options
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 24 | 
1 files changed, 13 insertions, 11 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index e93b88ecfdc..5a74b720fc1 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -6410,23 +6410,25 @@ glusterd_defrag_volume_status_update (glusterd_volinfo_t *volinfo,  }  int -glusterd_check_topology_identical (const char *filename1, -                                   const char *filename2, +glusterd_check_topology_identical (const char   *filename1, +                                   const char   *filename2,                                     gf_boolean_t *identical)  { -        int                     ret = -1; /* FAILURE */ -        xlator_t                *this = NULL; -        FILE                    *fp1 = NULL; -        FILE                    *fp2 = NULL; +        int                     ret    = -1; /* FAILURE */ +        xlator_t                *this  = THIS; +        FILE                    *fp1   = NULL; +        FILE                    *fp2   = NULL;          glusterfs_graph_t       *grph1 = NULL;          glusterfs_graph_t       *grph2 = NULL; -        if ((!filename1) || (!filename2) || (!identical)) -                goto out; - -        this = THIS; +        /* Invalid xlator, Nothing to do */ +        if (!this) +                return (-1); -        errno = 0; /* RESET the errno */ +        /* Sanitize the inputs */ +        GF_VALIDATE_OR_GOTO (this->name, filename1, out); +        GF_VALIDATE_OR_GOTO (this->name, filename2, out); +        GF_VALIDATE_OR_GOTO (this->name, identical, out);          /* fopen() the volfile1 to create the graph */          fp1 = fopen (filename1, "r");  | 
