diff options
author | 2004-09-04 04:22:30 +0000 | |
---|---|---|
committer | 2004-09-04 04:22:30 +0000 | |
commit | 753f4a42d3c26967fa1ce0b5f1273a7d28b9d7c2 (patch) | |
tree | e6fa64b3d219cb4cbab7f03044d828812449d42b /x11-misc/ttmkfdir/files | |
parent | add use_build for xfree eclass (diff) | |
download | historical-753f4a42d3c26967fa1ce0b5f1273a7d28b9d7c2.tar.gz historical-753f4a42d3c26967fa1ce0b5f1273a7d28b9d7c2.tar.bz2 historical-753f4a42d3c26967fa1ce0b5f1273a7d28b9d7c2.zip |
bounds checking patches and encodings segfault patches
Diffstat (limited to 'x11-misc/ttmkfdir/files')
-rw-r--r-- | x11-misc/ttmkfdir/files/digest-ttmkfdir-3.0.4 | 1 | ||||
-rw-r--r-- | x11-misc/ttmkfdir/files/digest-ttmkfdir-3.0.9-r2 | 1 | ||||
-rw-r--r-- | x11-misc/ttmkfdir/files/ttmkfdir-3.0.9-encoding.patch | 73 |
3 files changed, 74 insertions, 1 deletions
diff --git a/x11-misc/ttmkfdir/files/digest-ttmkfdir-3.0.4 b/x11-misc/ttmkfdir/files/digest-ttmkfdir-3.0.4 deleted file mode 100644 index 10fa1b11a28b..000000000000 --- a/x11-misc/ttmkfdir/files/digest-ttmkfdir-3.0.4 +++ /dev/null @@ -1 +0,0 @@ -MD5 258b38503b169612bd641156cd55032e ttmkfdir-3.0.4.tar.bz2 18496 diff --git a/x11-misc/ttmkfdir/files/digest-ttmkfdir-3.0.9-r2 b/x11-misc/ttmkfdir/files/digest-ttmkfdir-3.0.9-r2 new file mode 100644 index 000000000000..23c8357a597c --- /dev/null +++ b/x11-misc/ttmkfdir/files/digest-ttmkfdir-3.0.9-r2 @@ -0,0 +1 @@ +MD5 7fbf13e432aa519669899b13d00673f3 ttmkfdir-3.0.9.tar.bz2 20160 diff --git a/x11-misc/ttmkfdir/files/ttmkfdir-3.0.9-encoding.patch b/x11-misc/ttmkfdir/files/ttmkfdir-3.0.9-encoding.patch new file mode 100644 index 000000000000..30f0170f4b3b --- /dev/null +++ b/x11-misc/ttmkfdir/files/ttmkfdir-3.0.9-encoding.patch @@ -0,0 +1,73 @@ +diff -urN ttmkfdir-3.0.9.orig/directory.cpp ttmkfdir-3.0.9/directory.cpp +--- ttmkfdir-3.0.9.orig/directory.cpp 2002-12-09 00:29:11.000000000 -0800 ++++ ttmkfdir-3.0.9/directory.cpp 2004-09-02 23:42:16.000000000 -0700 +@@ -9,10 +9,12 @@ + { + } + +-void ++int + directory::scan (const std::string &dir) + { + DIR *ttfdir = opendir(dir.c_str ()); ++ if(!ttfdir) ++ return -1; + + this->clear (); + dirpath = dir; +@@ -26,6 +28,7 @@ + } + + closedir (ttfdir); ++ return 0; + } + + bool +diff -urN ttmkfdir-3.0.9.orig/directory.h ttmkfdir-3.0.9/directory.h +--- ttmkfdir-3.0.9.orig/directory.h 2002-12-09 00:29:11.000000000 -0800 ++++ ttmkfdir-3.0.9/directory.h 2004-09-02 23:42:16.000000000 -0700 +@@ -11,7 +11,7 @@ + if (path != "") scan (path); + }; + virtual ~directory (void); +- void scan (const std::string &path = "."); ++ int scan (const std::string &path = "."); + virtual bool select (const char *name) const; + const std::string &path (void) const { + return dirpath; +diff -urN ttmkfdir-3.0.9.orig/encoding.l ttmkfdir-3.0.9/encoding.l +--- ttmkfdir-3.0.9.orig/encoding.l 2003-01-07 21:25:25.000000000 -0800 ++++ ttmkfdir-3.0.9/encoding.l 2004-09-02 23:42:51.000000000 -0700 +@@ -108,7 +108,7 @@ + } + + /* now mark all the unassigned codes */ +- for (long i = i1; i <= i2; i++) { ++ for (long i = i1; i <= i2 && i < cur_enc->size; i++) { + (*cur_map)[i] = -1; + } + } +@@ -140,7 +140,7 @@ + break; + } + +- for (i = start_range; i <= end_range; i++, target++) { ++ for (i = start_range; i <= end_range && i < cur_enc->size; i++, target++) { + (*cur_map)[i] = target; + } + cur_enc->enc_size = cur_enc->enc_size + end_range - start_range + 1; +diff -urN ttmkfdir-3.0.9.orig/ttmkfdir.cpp ttmkfdir-3.0.9/ttmkfdir.cpp +--- ttmkfdir-3.0.9.orig/ttmkfdir.cpp 2003-01-19 15:33:11.000000000 -0800 ++++ ttmkfdir-3.0.9/ttmkfdir.cpp 2004-09-02 23:42:16.000000000 -0700 +@@ -60,7 +60,10 @@ + return 0; + } + +- dir::instance()->scan (cmdline::instance()->option ("font-dir")); ++ if(dir::instance()->scan (cmdline::instance()->option ("font-dir")) == -1) { ++ printf("No such directory...\n"); ++ return -1; ++ } + + for (directory::iterator i = dir::instance()->begin (); i != dir::instance()->end(); i++) { + const ttf::Face face (dir::instance()->path() + '/' + *i); |