aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/ChangeLog5
-rw-r--r--binutils/bucomm.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index e07e37b..7d90a23 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2011-01-06 Vladimir Siminov <sv@sw.ru>
+
+ * bucomm.c (get_file_size): Check for negative sizes and issue a
+ warning message if encountered.
+
2011-01-01 H.J. Lu <hongjiu.lu@intel.com>
* version.c (print_version): Update copyright to 2011.
diff --git a/binutils/bucomm.c b/binutils/bucomm.c
index b30c2c5..77afc10 100644
--- a/binutils/bucomm.c
+++ b/binutils/bucomm.c
@@ -1,6 +1,6 @@
/* bucomm.c -- Bin Utils COMmon code.
Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002,
- 2003, 2005, 2006, 2007, 2008, 2009, 2010
+ 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of GNU Binutils.
@@ -577,6 +577,9 @@ get_file_size (const char * file_name)
}
else if (! S_ISREG (statbuf.st_mode))
non_fatal (_("Warning: '%s' is not an ordinary file"), file_name);
+ else if (statbuf.st_size < 0)
+ non_fatal (_("Warning: '%s' has negative size, probably it is too large"),
+ file_name);
else
return statbuf.st_size;