aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-05-29 12:03:44 +0000
committerUlrich Drepper <drepper@redhat.com>1998-05-29 12:03:44 +0000
commit6e607d847cc9ad50610238da03a92c4b01eb577a (patch)
tree13f5d24bfb261b5f2c2d84bc50be6b330e2d845f
parente7a95dc622058b3e8cb90263c51e96ae04abfe71 (diff)
downloadglibc-6e607d847cc9ad50610238da03a92c4b01eb577a.tar
glibc-6e607d847cc9ad50610238da03a92c4b01eb577a.tar.gz
glibc-6e607d847cc9ad50610238da03a92c4b01eb577a.tar.bz2
glibc-6e607d847cc9ad50610238da03a92c4b01eb577a.zip
Update.
* locale/loadlocale.c (_nl_load_locale): Don't allow too small files crash the program. * string/Makefile: Don't run test on tst-svc.out if cross-compiling.
-rw-r--r--ChangeLog6
-rw-r--r--locale/loadlocale.c5
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index fbc1fbbdf1..a3f71f9c8c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,10 @@
1998-05-29 Ulrich Drepper <drepper@cygnus.com>
+ * locale/loadlocale.c (_nl_load_locale): Don't allow too small
+ files crash the program.
+
* io/Makefile: Don't run ftwtest-sh if cross-compiling.
- * string/Makefile: Don't run test on tst/svc.out if
- cross-compiling.
+ * string/Makefile: Don't run test on tst-svc.out if cross-compiling.
Reported by Deborah Wallach <kerr@pa.dec.com>.
1998-05-28 00:53 Zack Weinberg <zack@rabi.phys.columbia.edu>
diff --git a/locale/loadlocale.c b/locale/loadlocale.c
index 3ac161eb3a..d856063d52 100644
--- a/locale/loadlocale.c
+++ b/locale/loadlocale.c
@@ -1,5 +1,5 @@
/* Functions to read locale data files.
- Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
@@ -160,6 +160,9 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
else
goto puntfd;
}
+ else if (st.st_size < sizeof (*filedata))
+ /* This cannot be a locale data file since it's too small. */
+ goto puntfd;
if (filedata->magic == LIMAGIC (category))
/* Good data file in our byte order. */