Bump PKGREVISION

* Use 1024 instead of NAME_MAX. NAME_MAX is not defined OmniOS-derived OS
  and MAXNAMELEN is not portable too, _POSIX_NAME_MAX is too short.
  Discussed with tron@.
* Simplyfy my previous code to fix overrun
This commit is contained in:
ryoon 2019-07-04 13:26:59 +00:00
parent 5916d501ae
commit 0f8e6d6232
3 changed files with 23 additions and 20 deletions

View file

@ -1,7 +1,7 @@
# $NetBSD: Makefile,v 1.18 2019/05/29 12:29:00 ryoon Exp $
# $NetBSD: Makefile,v 1.19 2019/07/04 13:26:59 ryoon Exp $
DISTNAME= libotf-0.9.16
PKGREVISION= 1
PKGREVISION= 2
CATEGORIES= graphics
MASTER_SITES= http://download.savannah.gnu.org/releases/m17n/

View file

@ -1,8 +1,8 @@
$NetBSD: distinfo,v 1.12 2019/05/29 12:54:10 ryoon Exp $
$NetBSD: distinfo,v 1.13 2019/07/04 13:26:59 ryoon Exp $
SHA1 (libotf-0.9.16.tar.gz) = ee3037f468a5381de89846ee1c78320964cfbf78
RMD160 (libotf-0.9.16.tar.gz) = ddea1124409fa97a58386251aa70b961c11b9374
SHA512 (libotf-0.9.16.tar.gz) = 0f68c45c1224f02dc0f1a8e9915dd9c1c70d71259b4e2f7bbd4fbec6426e58d4a26e4cbf28dbb8ed051ba6f532f99fc4e74b4ddf97a93ec947fa6260c875d0b4
Size (libotf-0.9.16.tar.gz) = 423979 bytes
SHA1 (patch-configure) = 5d43a445f6950ac14e5a91f37b25601d951868c2
SHA1 (patch-example_otfview.c) = db34c8354a3af3615b144adabf32f0d9e8717ab0
SHA1 (patch-example_otfview.c) = f5ddb893c447b1bfebe0a1fd49aae6daac45edad

View file

@ -1,37 +1,40 @@
$NetBSD: patch-example_otfview.c,v 1.2 2019/05/29 12:54:10 ryoon Exp $
$NetBSD: patch-example_otfview.c,v 1.3 2019/07/04 13:26:59 ryoon Exp $
* Fix a runtime crash on NetBSD.
--- example/otfview.c.orig 2015-09-02 13:39:25.000000000 +0000
+++ example/otfview.c
@@ -28,6 +28,7 @@ write to the Free Software Foundation, I
#include <sys/stat.h>
#include <unistd.h>
#include <libgen.h>
+#include <limits.h>
@@ -51,6 +51,8 @@ write to the Free Software Foundation, I
#include "config.h"
#ifdef HAVE_ALLOCA_H
@@ -1603,7 +1604,10 @@ ExposeProc (Widget w, XEvent *event, Str
#include <otf.h>
+#define MY_NAME_MAX 1024
+
#define CAST_FROM_XTPOINTER(TYPE, DATA, VAR) \
do { \
long TYPE temp = (long TYPE) (DATA); \
@@ -1603,7 +1605,9 @@ ExposeProc (Widget w, XEvent *event, Str
{
XTextProperty text_prop;
char *pname = "otfview";
- char *fname = basename (filename);
+ char *tmpfname = basename (filename);
+ size_t len = strlen(tmpfname);
+ char fname[NAME_MAX];
+ snprintf(fname, len + 1, "%s", tmpfname);
+ char fname[MY_NAME_MAX];
+ snprintf(fname, sizeof(fname), "%s", tmpfname);
char *name = alloca (strlen (fname) + 3 + strlen (pname) + 1);
sprintf (name, "%s - %s", pname, fname);
@@ -1735,7 +1739,9 @@ main (int argc, char **argv)
@@ -1735,9 +1739,11 @@ main (int argc, char **argv)
char title[256];
Arg arg[1];
- filename = basename (filename);
+ char *tmpfilename = basename (filename);
+ size_t len = strlen(tmpfilename);
+ snprintf(filename, len + 1, "%s", tmpfilename);
+ char fname[MY_NAME_MAX];
+ snprintf(fname, sizeof(fname), "%s", tmpfilename);
sprintf (title, "%s family:%s style:%s",
filename, face->family_name, face->style_name);
- filename, face->family_name, face->style_name);
+ fname, face->family_name, face->style_name);
XtSetArg (arg[0], XtNtitle, title);
XtSetValues (shell, arg, 1);
}