Applied vodz' patches #49 and #50 (with a small correction in runshell.c)

#49: I found one memory overflow and memory leak in "ln" applet.
Last patch reduced also 54 bytes. ;)

#50: I found bug in loginutils/Makefile.in.
New patch have also new function to libbb and
aplied this to applets and other cosmetic changes.
This commit is contained in:
Robert Griebl
2002-07-19 00:05:54 +00:00
parent 88947dd05e
commit d378c3149c
18 changed files with 64 additions and 79 deletions

View File

@@ -41,7 +41,7 @@ LIBBB_SRC:= \
simplify_path.c inet_common.c inode_hash.c obscure.c pwd2spwd.c xfuncs.c \
correct_password.c change_identity.c setup_environment.c run_shell.c \
pw_encrypt.c restricted_shell.c xgethostbyname2.c create_icmp6_socket.c \
xconnect.c
xconnect.c bb_asprintf.c
LIBBB_OBJS=$(patsubst %.c,$(LIBBB_DIR)%.o, $(LIBBB_SRC))

View File

@@ -38,8 +38,7 @@ extern char *concat_path_file(const char *path, const char *filename)
lc = last_char_is(path, '/');
while (*filename == '/')
filename++;
outbuf = xmalloc(strlen(path)+strlen(filename)+1+(lc==NULL));
sprintf(outbuf, "%s%s%s", path, (lc==NULL)? "/" : "", filename);
bb_asprintf(&outbuf, "%s%s%s", path, (lc==NULL)? "/" : "", filename);
return outbuf;
}

View File

@@ -60,9 +60,8 @@ void run_shell ( const char *shell, int loginshell, const char *command, const c
args [0] = get_last_path_component ( xstrdup ( shell ));
if ( loginshell ) {
char *args0 = xmalloc ( xstrlen ( args [0] ) + 2 );
args0 [0] = '-';
strcpy ( args0 + 1, args [0] );
char *args0;
bb_asprintf ( &args0, "-%s", args [0] );
args [0] = args0;
}

View File

@@ -6,6 +6,7 @@
*
*/
#include "inet_common.h"
#include <unistd.h>
#include <string.h>
#include <stdlib.h>

View File

@@ -24,7 +24,7 @@ extern char *xreadlink(const char *path)
buf = xrealloc(buf, bufsize += GROWBY);
readsize = readlink(path, buf, bufsize); /* 1st try */
if (readsize == -1) {
perror_msg("%s:%s", applet_name, path);
perror_msg("%s", path);
return NULL;
}
}
@@ -34,4 +34,3 @@ extern char *xreadlink(const char *path)
return buf;
}