From: Jim Meyering Date: Thu, 10 Apr 2003 16:47:35 +0000 (+0000) Subject: (canonicalize_file_name): Return NULL immediately if resolvepath fails. X-Git-Tag: v5.0.1~762 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ef6c0046482844db49d7b2e0729f6c98f37efae4;p=thirdparty%2Fcoreutils.git (canonicalize_file_name): Return NULL immediately if resolvepath fails. Otherwise, `readlink --canonical /no-such-file' would exhaust virtual memory on some systems (e.g. Solaris). --- diff --git a/lib/canonicalize.c b/lib/canonicalize.c index 66622817be..e82ae75ad8 100644 --- a/lib/canonicalize.c +++ b/lib/canonicalize.c @@ -147,6 +147,11 @@ canonicalize_file_name (const char *name) resolved_size = 2 * resolved_size + 1; resolved = xmalloc (resolved_size); resolved_len = resolvepath (name, resolved, resolved_size); + if (resolved_len < 0) + { + free (resolved); + return NULL; + } if (resolved_len < resolved_size) break; free (resolved);