Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8bfb94c authored by Paolo 'Blaisorblade' Giarrusso's avatar Paolo 'Blaisorblade' Giarrusso Committed by Linus Torvalds
Browse files

[PATCH] strlcat: use for uml umid.c



Simplify the code by using strlcat() instead of strncat() and manual
appending.

Signed-off-by: default avatarPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 3a02d6c0
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -14,7 +14,9 @@ extern void *um_kmalloc_atomic(int size);
extern void kfree(void *ptr);
extern int in_aton(char *str);
extern int open_gdb_chan(void);
extern int strlcpy(char *, const char *, int);
/* These use size_t, however unsigned long is correct on both i386 and x86_64. */
extern unsigned long strlcpy(char *, const char *, unsigned long);
extern unsigned long strlcat(char *, const char *, unsigned long);
extern void *um_vmalloc(int size);
extern void vfree(void *ptr);

+4 −7
Original line number Diff line number Diff line
@@ -237,13 +237,10 @@ static int __init make_uml_dir(void)
		strlcpy(dir, home, sizeof(dir));
		uml_dir++;
	}
	strlcat(dir, uml_dir, sizeof(dir));
	len = strlen(dir);
	strncat(dir, uml_dir, sizeof(dir) - len);
	len = strlen(dir);
	if((len > 0) && (len < sizeof(dir) - 1) && (dir[len - 1] != '/')){
		dir[len] = '/';
		dir[len + 1] = '\0';
	}
	if (len > 0 && dir[len - 1] != '/')
		strlcat(dir, "/", sizeof(dir));

	uml_dir = malloc(strlen(dir) + 1);
	if (uml_dir == NULL) {