aboutsummaryrefslogtreecommitdiff
path: root/coreutils/uudecode.c
diff options
context:
space:
mode:
Diffstat (limited to 'coreutils/uudecode.c')
-rw-r--r--coreutils/uudecode.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/coreutils/uudecode.c b/coreutils/uudecode.c
index 6ac9f1bf3..a4059ddfe 100644
--- a/coreutils/uudecode.c
+++ b/coreutils/uudecode.c
@@ -201,9 +201,8 @@ static int decode (const char *inname,
201 const char *forced_outname) 201 const char *forced_outname)
202{ 202{
203 struct passwd *pw; 203 struct passwd *pw;
204 register int n;
205 register char *p; 204 register char *p;
206 int mode, n1; 205 int mode;
207 char buf[2 * BUFSIZ]; 206 char buf[2 * BUFSIZ];
208 char *outname; 207 char *outname;
209 int do_base64 = 0; 208 int do_base64 = 0;
@@ -249,12 +248,7 @@ static int decode (const char *inname,
249 error_msg("%s: No user `%s'", inname, buf + 1); 248 error_msg("%s: No user `%s'", inname, buf + 1);
250 return FALSE; 249 return FALSE;
251 } 250 }
252 n = strlen (pw->pw_dir); 251 outname = concat_path_file(pw->pw_dir, p);
253 n1 = strlen (p);
254 outname = (char *) xmalloc ((size_t) (n + n1 + 2));
255 memcpy (outname + n + 1, p, (size_t) (n1 + 1));
256 memcpy (outname, pw->pw_dir, (size_t) n);
257 outname[n] = '/';
258 dofre = TRUE; 252 dofre = TRUE;
259 } 253 }
260 } 254 }