diff options
| author | Amar Tumballi <amar@gluster.com> | 2009-07-17 22:41:44 +0000 | 
|---|---|---|
| committer | Anand V. Avati <avati@dev.gluster.com> | 2009-07-20 14:28:53 -0700 | 
| commit | 632cce5e720acaa28ab680a6850f2aa8289d4628 (patch) | |
| tree | 8cdc8afe41411ecde9c7a80b49162088bb09e08e /libglusterfs/src/xlator.c | |
| parent | 5be3c142978257032bd11ad420382859fc204702 (diff) | |
fix build warnings in 'libglusterfs/'
return value of 'asprintf' was not checked, and the flow was
continuing without returning error, which could cause potential
segfaults in code (mostly possible during ENOMEM case).
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 130 (build warnings)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=130
Diffstat (limited to 'libglusterfs/src/xlator.c')
| -rw-r--r-- | libglusterfs/src/xlator.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c index 351e2434467..a3f8ea8fc2e 100644 --- a/libglusterfs/src/xlator.c +++ b/libglusterfs/src/xlator.c @@ -679,6 +679,7 @@ int32_t  xlator_set_type (xlator_t *xl,  		 const char *type)  { +        int   ret = 0;  	char *name = NULL;  	void *handle = NULL;  	volume_opt_list_t *vol_opt = NULL; @@ -690,7 +691,11 @@ xlator_set_type (xlator_t *xl,  	xl->type = strdup (type); -	asprintf (&name, "%s/%s.so", XLATORDIR, type); +	ret = asprintf (&name, "%s/%s.so", XLATORDIR, type); +        if (-1 == ret) { +                gf_log ("xlator", GF_LOG_ERROR, "asprintf failed"); +                return -1; +        }  	gf_log ("xlator", GF_LOG_TRACE, "attempt to load file %s", name);  | 
