diff options
author | Mike Frysinger <vapier@gentoo.org> | 2008-12-31 07:13:17 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2008-12-31 09:52:26 -0500 |
commit | c9f9ef7dc32c851b44f51b67912cf2d9a48b108f (patch) | |
tree | 4dc4420892900cd2799918055ccd517fb28eb039 /src | |
parent | libsandbox/libsbutil: link with -no-undefined (diff) | |
download | sandbox-c9f9ef7dc32c851b44f51b67912cf2d9a48b108f.tar.gz sandbox-c9f9ef7dc32c851b44f51b67912cf2d9a48b108f.tar.bz2 sandbox-c9f9ef7dc32c851b44f51b67912cf2d9a48b108f.zip |
libsbutil: cleanup x* memory functions
Pull the x* memory functions out of rcscripts and into libsbutil and change
their style to match the rest of sbutil. Also add xzalloc() and xstrdup(),
and convert pointless strndup() usage to strdup().
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/environ.c | 12 | ||||
-rw-r--r-- | src/sandbox.c | 3 |
2 files changed, 3 insertions, 12 deletions
diff --git a/src/environ.c b/src/environ.c index c723c1b..98dc9b2 100644 --- a/src/environ.c +++ b/src/environ.c @@ -226,8 +226,6 @@ static int sb_setenv(char ***envp, const char *name, const char *val) /* strlen(name) + strlen(val) + '=' + '\0' */ tmp_string = xmalloc((strlen(name) + strlen(val) + 2) * sizeof(char)); - if (NULL == tmp_string) - goto error; snprintf(tmp_string, strlen(name) + strlen(val) + 2, "%s=%s", name, val); @@ -276,17 +274,11 @@ char **setup_environ(struct sandbox_info_t *sandbox_info, bool interactive) ld_preload_envvar = xcalloc(strlen(orig_ld_preload_envvar) + strlen(sandbox_info->sandbox_lib) + 2, sizeof(char)); - if (NULL == ld_preload_envvar) - return NULL; snprintf(ld_preload_envvar, strlen(orig_ld_preload_envvar) + strlen(sandbox_info->sandbox_lib) + 2, "%s %s", sandbox_info->sandbox_lib, orig_ld_preload_envvar); - } else { - ld_preload_envvar = rc_strndup(sandbox_info->sandbox_lib, - strlen(sandbox_info->sandbox_lib)); - if (NULL == ld_preload_envvar) - return NULL; - } + } else + ld_preload_envvar = xstrdup(sandbox_info->sandbox_lib); /* Do not unset this, as strange things might happen */ /* unsetenv(ENV_LD_PRELOAD); */ diff --git a/src/sandbox.c b/src/sandbox.c index 2417363..1b8fd59 100644 --- a/src/sandbox.c +++ b/src/sandbox.c @@ -106,12 +106,11 @@ int print_sandbox_log(char *sandbox_log) return 0; } - buffer = xmalloc((len + 1) * sizeof(char)); + buffer = xzalloc((len + 1) * sizeof(char)); if (NULL == buffer) { perror("sandbox: Could not allocate buffer for Log file"); return 0; } - memset(buffer, 0, len + 1); if (-1 == sb_read(sandbox_log_file, buffer, len)) { perror("sandbox: Could read Log file"); return 0; |