]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
(canonicalize_file_name): Return NULL immediately if resolvepath fails.
authorJim Meyering <jim@meyering.net>
Thu, 10 Apr 2003 16:47:35 +0000 (16:47 +0000)
committerJim Meyering <jim@meyering.net>
Thu, 10 Apr 2003 16:47:35 +0000 (16:47 +0000)
Otherwise, `readlink --canonical /no-such-file' would exhaust
virtual memory on some systems (e.g. Solaris).

lib/canonicalize.c

index 66622817bebf1a8d78a0a3031e39a90038107efd..e82ae75ad80362650c1b8cf9a01633229af15f9f 100644 (file)
@@ -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);