summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/common-utils.c
diff options
context:
space:
mode:
authorAmar Tumballi <amar@gluster.com>2009-07-17 22:41:44 +0000
committerAnand V. Avati <avati@dev.gluster.com>2009-07-20 14:28:53 -0700
commit632cce5e720acaa28ab680a6850f2aa8289d4628 (patch)
tree8cdc8afe41411ecde9c7a80b49162088bb09e08e /libglusterfs/src/common-utils.c
parent5be3c142978257032bd11ad420382859fc204702 (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/common-utils.c')
-rw-r--r--libglusterfs/src/common-utils.c60
1 files changed, 33 insertions, 27 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c
index 2650e8fb55a..c68fd306660 100644
--- a/libglusterfs/src/common-utils.c
+++ b/libglusterfs/src/common-utils.c
@@ -96,7 +96,11 @@ gf_resolve_ip6 (const char *hostname,
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_ADDRCONFIG;
- asprintf (&port_str, "%d", port);
+ ret = asprintf (&port_str, "%d", port);
+ if (-1 == ret) {
+ gf_log ("resolver", GF_LOG_ERROR, "asprintf failed");
+ return -1;
+ }
if ((ret = getaddrinfo(hostname, port_str, &hints, &cache->first)) != 0) {
gf_log ("resolver", GF_LOG_ERROR,
"getaddrinfo failed (%s)", gai_strerror (ret));
@@ -269,82 +273,84 @@ gf_log_volume_file (FILE *specfp)
static void
gf_dump_config_flags (int fd)
{
+ int ret = 0;
+ /* TODO: 'ret' is not checked properly, add this later */
- write (fd, "configuration details:\n", 22);
+ ret = write (fd, "configuration details:\n", 22);
/* have argp */
#ifdef HAVE_ARGP
- write (fd, "argp 1\n", 7);
+ ret = write (fd, "argp 1\n", 7);
#endif
/* ifdef if found backtrace */
#ifdef HAVE_BACKTRACE
- write (fd, "backtrace 1\n", 12);
+ ret = write (fd, "backtrace 1\n", 12);
#endif
/* Berkeley-DB version has cursor->get() */
#ifdef HAVE_BDB_CURSOR_GET
- write (fd, "bdb->cursor->get 1\n", 19);
+ ret = write (fd, "bdb->cursor->get 1\n", 19);
#endif
/* Define to 1 if you have the <db.h> header file. */
#ifdef HAVE_DB_H
- write (fd, "db.h 1\n", 7);
+ ret = write (fd, "db.h 1\n", 7);
#endif
/* Define to 1 if you have the <dlfcn.h> header file. */
#ifdef HAVE_DLFCN_H
- write (fd, "dlfcn 1\n", 8);
+ ret = write (fd, "dlfcn 1\n", 8);
#endif
/* define if fdatasync exists */
#ifdef HAVE_FDATASYNC
- write (fd, "fdatasync 1\n", 12);
+ ret = write (fd, "fdatasync 1\n", 12);
#endif
/* Define to 1 if you have the `pthread' library (-lpthread). */
#ifdef HAVE_LIBPTHREAD
- write (fd, "libpthread 1\n", 13);
+ ret = write (fd, "libpthread 1\n", 13);
#endif
/* define if llistxattr exists */
#ifdef HAVE_LLISTXATTR
- write (fd, "llistxattr 1\n", 13);
+ ret = write (fd, "llistxattr 1\n", 13);
#endif
/* define if found setfsuid setfsgid */
#ifdef HAVE_SET_FSID
- write (fd, "setfsid 1\n", 10);
+ ret = write (fd, "setfsid 1\n", 10);
#endif
/* define if found spinlock */
#ifdef HAVE_SPINLOCK
- write (fd, "spinlock 1\n", 11);
+ ret = write (fd, "spinlock 1\n", 11);
#endif
/* Define to 1 if you have the <sys/epoll.h> header file. */
#ifdef HAVE_SYS_EPOLL_H
- write (fd, "epoll.h 1\n", 10);
+ ret = write (fd, "epoll.h 1\n", 10);
#endif
/* Define to 1 if you have the <sys/extattr.h> header file. */
#ifdef HAVE_SYS_EXTATTR_H
- write (fd, "extattr.h 1\n", 12);
+ ret = write (fd, "extattr.h 1\n", 12);
#endif
/* Define to 1 if you have the <sys/xattr.h> header file. */
#ifdef HAVE_SYS_XATTR_H
- write (fd, "xattr.h 1\n", 10);
+ ret = write (fd, "xattr.h 1\n", 10);
#endif
/* define if found st_atim.tv_nsec */
#ifdef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
- write (fd, "st_atim.tv_nsec 1\n", 18);
+ ret = write (fd, "st_atim.tv_nsec 1\n", 18);
#endif
/* define if found st_atimespec.tv_nsec */
#ifdef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
- write (fd, "st_atimespec.tv_nsec 1\n",23);
+ ret = write (fd, "st_atimespec.tv_nsec 1\n",23);
#endif
/* Define to the full name and version of this package. */
@@ -352,7 +358,7 @@ gf_dump_config_flags (int fd)
{
char msg[128];
sprintf (msg, "package-string: %s\n", PACKAGE_STRING);
- write (fd, msg, strlen (msg));
+ ret = write (fd, msg, strlen (msg));
}
#endif
@@ -366,12 +372,12 @@ void
gf_print_trace (int32_t signum)
{
extern FILE *gf_log_logfile;
- int fd = fileno (gf_log_logfile);
- char msg[1024];
-
+ char msg[1024] = {0,};
+ int fd = fileno (gf_log_logfile);
+ int ret = 0;
/* Pending frames, (if any), list them in order */
- write (fd, "pending frames:\n", 16);
+ ret = write (fd, "pending frames:\n", 16);
{
extern glusterfs_ctx_t *gf_global_ctx;
glusterfs_ctx_t *ctx = gf_global_ctx;
@@ -394,17 +400,17 @@ gf_print_trace (int32_t signum)
tmp->root->type,
gf_cbk_list[tmp->root->op]);
- write (fd, msg, strlen (msg));
+ ret = write (fd, msg, strlen (msg));
trav = trav->next;
}
- write (fd, "\n", 1);
+ ret = write (fd, "\n", 1);
}
sprintf (msg, "patchset: %s\n", GLUSTERFS_REPOSITORY_REVISION);
- write (fd, msg, strlen (msg));
+ ret = write (fd, msg, strlen (msg));
sprintf (msg, "signal received: %d\n", signum);
- write (fd, msg, strlen (msg));
+ ret = write (fd, msg, strlen (msg));
gf_dump_config_flags (fd);
#if HAVE_BACKTRACE
@@ -416,7 +422,7 @@ gf_print_trace (int32_t signum)
size = backtrace (array, 200);
backtrace_symbols_fd (&array[1], size-1, fd);
sprintf (msg, "---------\n");
- write (fd, msg, strlen (msg));
+ ret = write (fd, msg, strlen (msg));
}
#endif /* HAVE_BACKTRACE */