diff options
author | zhanghailiang <zhang.zhanghailiang@huawei.com> | 2014-08-19 16:30:17 +0800 |
---|---|---|
committer | Michael Tokarev <mjt@tls.msk.ru> | 2014-08-24 13:16:32 +0400 |
commit | 2439a79b0dfcad1e066d2d1cd21873dc8b24696b (patch) | |
tree | 1d8beaaf1ea03baa3ebe3e1fade9595f9998c95f | |
parent | 646bfd53809fa8e8b818576c3e7a5d7b777151d4 (diff) | |
download | slirp-2439a79b0dfcad1e066d2d1cd21873dc8b24696b.zip slirp-2439a79b0dfcad1e066d2d1cd21873dc8b24696b.tar.gz slirp-2439a79b0dfcad1e066d2d1cd21873dc8b24696b.tar.bz2 |
slirp/misc: Use the GLib memory allocation APIs
Here we don't check the return value of malloc() which may fail.
Use the g_new() instead, which will abort the program when
there is not enough memory.
Also, use g_strdup instead of strdup and remove the unnecessary
strdup function.
Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Benoît Canet <benoit.canet@nodalink.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
-rw-r--r-- | misc.c | 18 | ||||
-rw-r--r-- | misc.h | 4 | ||||
-rw-r--r-- | slirp_config.h | 3 |
3 files changed, 3 insertions, 22 deletions
@@ -51,11 +51,11 @@ int add_exec(struct ex_list **ex_ptr, int do_pty, char *exec, } tmp_ptr = *ex_ptr; - *ex_ptr = (struct ex_list *)malloc(sizeof(struct ex_list)); + *ex_ptr = g_new(struct ex_list, 1); (*ex_ptr)->ex_fport = port; (*ex_ptr)->ex_addr = addr; (*ex_ptr)->ex_pty = do_pty; - (*ex_ptr)->ex_exec = (do_pty == 3) ? exec : strdup(exec); + (*ex_ptr)->ex_exec = (do_pty == 3) ? exec : g_strdup(exec); (*ex_ptr)->ex_next = tmp_ptr; return 0; } @@ -180,7 +180,7 @@ int fork_exec(struct socket *so, const char *ex, int do_pty) bptr++; c = *bptr; *bptr++ = (char)0; - argv[i++] = strdup(curarg); + argv[i++] = g_strdup(curarg); } while (c); argv[i] = NULL; @@ -223,18 +223,6 @@ int fork_exec(struct socket *so, const char *ex, int do_pty) } #endif -#ifndef HAVE_STRDUP -char *strdup(str) const char *str; -{ - char *bptr; - - bptr = (char *)malloc(strlen(str) + 1); - strcpy(bptr, str); - - return bptr; -} -#endif - void slirp_connection_info(Slirp *slirp, Monitor *mon) { const char *const tcpstates[] = { @@ -16,10 +16,6 @@ struct ex_list { struct ex_list *ex_next; }; -#ifndef HAVE_STRDUP -char *strdup(const char *); -#endif - #define EMU_NONE 0x0 /* TCP emulations */ diff --git a/slirp_config.h b/slirp_config.h index 594c7af..7ee351e 100644 --- a/slirp_config.h +++ b/slirp_config.h @@ -73,9 +73,6 @@ /* Define if you have strerror */ #define HAVE_STRERROR -/* Define if you have strdup() */ -#define HAVE_STRDUP - /* Define according to how time.h should be included */ #define TIME_WITH_SYS_TIME 0 #undef HAVE_SYS_TIME_H |