texlive[42490] Build/source/texk/mendexk: mendexk: Avoid access

commits+kakuto at tug.org commits+kakuto at tug.org
Sat Nov 12 15:01:21 CET 2016


Revision: 42490
          http://tug.org/svn/texlive?view=revision&revision=42490
Author:   kakuto
Date:     2016-11-12 15:01:21 +0100 (Sat, 12 Nov 2016)
Log Message:
-----------
mendexk: Avoid access violation on Windows

Modified Paths:
--------------
    trunk/Build/source/texk/mendexk/ChangeLog
    trunk/Build/source/texk/mendexk/main.c
    trunk/Build/source/texk/mendexk/styfile.c

Modified: trunk/Build/source/texk/mendexk/ChangeLog
===================================================================
--- trunk/Build/source/texk/mendexk/ChangeLog	2016-11-12 09:31:11 UTC (rev 42489)
+++ trunk/Build/source/texk/mendexk/ChangeLog	2016-11-12 14:01:21 UTC (rev 42490)
@@ -1,8 +1,7 @@
 2016-11-12  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* mendex.h: Sync with W32TeX (W32 only).
-	* styfile.c: Revert. Use fgets() instead of mfgets() in bfgets()
-	to avoid access violation.
+	* main.c: Avoid access violation on Windows.
 
 2016-09-28  Hironobu Yamashita  <h.y.acetaminophen at gmail.com>
 

Modified: trunk/Build/source/texk/mendexk/main.c
===================================================================
--- trunk/Build/source/texk/mendexk/main.c	2016-11-12 09:31:11 UTC (rev 42489)
+++ trunk/Build/source/texk/mendexk/main.c	2016-11-12 14:01:21 UTC (rev 42490)
@@ -268,16 +268,18 @@
 	}
 
 	if (!logfile && (idxcount-fsti > 0)) {
-		logfile=xmalloc(strlen(idxfile[0]+6));
+		char llogfile[512];
+		for (i=0; i < 512; i++) llogfile[i] = '\0';
 		for (i=strlen(idxfile[0]);i>=0;i--) {
 			if (idxfile[0][i]=='.') {
-				strncpy(logfile,idxfile[0],i);
-				sprintf(&logfile[i],".ilg");
+				strncpy(llogfile,idxfile[0],i);
+				sprintf(&llogfile[i],".ilg");
 				break;
 			}
 		}
-		if (i==-1) sprintf(logfile,"%s.ilg",idxfile[0]);
-		}
+		if (i==-1) sprintf(llogfile,"%s.ilg",idxfile[0]);
+        	logfile = xstrdup(llogfile);
+	}
 	if (logfile && kpse_out_name_ok(logfile))
 		efp=fopen(logfile,"wb");
 	if(efp == NULL) {

Modified: trunk/Build/source/texk/mendexk/styfile.c
===================================================================
--- trunk/Build/source/texk/mendexk/styfile.c	2016-11-12 09:31:11 UTC (rev 42489)
+++ trunk/Build/source/texk/mendexk/styfile.c	2016-11-12 14:01:21 UTC (rev 42490)
@@ -21,7 +21,7 @@
 bfgets (char *buf, int size, FILE *fp)
 {
 	char *p, *q;
-	p = fgets (buf, size, fp);
+	p = mfgets (buf, size, fp);
 	for (q = buf; *q; q++) {
 		if(*q == '\r') {
 			*q++ = '\n';



More information about the tex-live-commits mailing list