From d378c3149c6c24e7788f04a6d20ba360f3ea407e Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Fri, 19 Jul 2002 00:05:54 +0000 Subject: 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. --- coreutils/expr.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'coreutils/expr.c') diff --git a/coreutils/expr.c b/coreutils/expr.c index 0299cc7..55ae3a9 100644 --- a/coreutils/expr.c +++ b/coreutils/expr.c @@ -146,12 +146,8 @@ static int null (VALUE *v) static void tostring (VALUE *v) { - char *temp; - if (v->type == integer) { - temp = xmalloc (4 * (sizeof (int) / sizeof (char))); - sprintf (temp, "%d", v->u.i); - v->u.s = temp; + bb_asprintf (&(v->u.s), "%d", v->u.i); v->type = string; } } @@ -377,9 +373,7 @@ static VALUE *eval6 (void) else { v = xmalloc (sizeof(VALUE)); v->type = string; - v->u.s = strncpy ((char *) xmalloc (i2->u.i + 1), - l->u.s + i1->u.i - 1, i2->u.i); - v->u.s[i2->u.i] = 0; + v->u.s = xstrndup(l->u.s + i1->u.i - 1, i2->u.i); } freev (l); freev (i1); -- cgit v1.1