UML - Improved error handling while locating temp dir
PATCH 3/5 UML - Improved error handling while locating temp dir
From: Jim Meyering <[email protected]>
* arch/um/os-Linux/mem.c (make_tempfile): Don't deref NULL upon failed malloc.
* arch/um/os-Linux/mem.c (make_tempfile): Handle NULL tempdir. Don't let a long tempdir (e.g., via TMPDIR) provoke heap corruption.
[ jdike - formatting cleanups, deleted obsolete comment ]
--- arch/um/os-Linux/mem.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-)
arch/um/os-Linux/mem.c +6 -9
@@ -162,11 +162,6 @@ found: goto out; } -/* -* This proc still used in tt-mode -* (file: kernel/tt/ptproxy/proxy.c, proc: start_debugger). -* So it isn't 'static' yet. -*/ static int __init make_tempfile (const char *template,char **out_tempname,int do_unlink) {
@@ -175,10 +170,13 @@ static int __init make_tempfile(const chwhich_tmpdir (); tempname =malloc (MAXPATHLEN ); -if (!tempname) - goto out; +if (tempname ==NULL ) +return -1 ;find_tempdir (); +if ((tempdir ==NULL ) || (strlen (tempdir) >=MAXPATHLEN )) +return -1 ; +if (template[0 ] !='/' )strcpy (tempname, tempdir);else
@@ -196,9 +194,8 @@ static int __init make_tempfile(const ch }if (out_tempname) { *out_tempname = tempname; - }else { + }else free (tempname); - }return fd; out:free (tempname);
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel