openwrtv4/toolchain/binutils/patches/2.17/300-006_better_file_error.patch

45 lines
1.2 KiB
Diff
Raw Normal View History

2005-01-16 11:43:02 +00:00
#!/bin/sh -e
## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Specify which filename is causing an error if the filename is a
## DP: directory. (#45832)
if [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
case "$1" in
-patch) patch $patch_opts -p1 < $0;;
-unpatch) patch $patch_opts -p1 -R < $0;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1;;
esac
exit 0
@DPATCH@
Index: binutils-2.17/bfd/opncls.c
===================================================================
--- binutils-2.17.orig/bfd/opncls.c 2007-06-28 09:19:34.818943168 +0200
+++ binutils-2.17/bfd/opncls.c 2007-06-28 09:19:35.993764568 +0200
@@ -158,6 +158,13 @@
2005-01-16 11:43:02 +00:00
{
bfd *nbfd;
const bfd_target *target_vec;
+ struct stat s;
+
+ if (stat (filename, &s) == 0)
+ if (S_ISDIR(s.st_mode)) {
+ bfd_set_error (bfd_error_file_not_recognized);
+ return NULL;
+ }
nbfd = _bfd_new_bfd ();
if (nbfd == NULL)