texlive/SOURCES/texlive-20180414-covscan.patch

813 lines
33 KiB
Diff
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

diff -up texlive-20180414/source/libs/luajit/LuaJIT-src/src/host/minilua.c.me texlive-20180414/source/libs/luajit/LuaJIT-src/src/host/minilua.c
--- texlive-20180414/source/libs/luajit/LuaJIT-src/src/host/minilua.c.me 2018-08-14 10:08:29.573912544 +0100
+++ texlive-20180414/source/libs/luajit/LuaJIT-src/src/host/minilua.c 2018-09-24 09:18:24.640331882 +0100
@@ -4327,7 +4327,7 @@ if(lh->v.u.s.info==v->u.s.info){
conflict=1;
lh->v.u.s.info=extra;
}
-if(lh->v.u.s.aux==v->u.s.info){
+if(lh->v.u.s.aux==v->u.s.aux){
conflict=1;
lh->v.u.s.aux=extra;
}
diff -up texlive-20180414/source/libs/zziplib/zziplib-src/docs/make-doc.py.me texlive-20180414/source/libs/zziplib/zziplib-src/docs/make-doc.py
--- texlive-20180414/source/libs/zziplib/zziplib-src/docs/make-doc.py.me 2018-08-14 10:34:45.827143276 +0100
+++ texlive-20180414/source/libs/zziplib/zziplib-src/docs/make-doc.py 2018-08-14 10:35:09.287578374 +0100
@@ -951,7 +951,7 @@ def docbook_refpages_perheader(page_list
header[file].copyright = page.copyright
if not header[file].authors and page.authors:
header[file].authors = page.authors
- if not header[file].authors and page.authors_list:
+ if not header[file].authors_list and page.authors_list:
header[file].authors_list = page.authors_list
if not header[file].description:
found = m(commands.getoutput("cat "+o.package+".spec"),
diff -up texlive-20180414/source/texk/dvipdfm-x/cid.c.me texlive-20180414/source/texk/dvipdfm-x/cid.c
--- texlive-20180414/source/texk/dvipdfm-x/cid.c.me 2018-08-14 14:23:43.959754741 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/cid.c 2018-09-24 10:52:23.863792313 +0100
@@ -636,6 +636,7 @@ CIDFont_cache_find (const char *map_name
CIDFONT_FLAG_TYPE1C) < 0 &&
CIDFont_base_open (font, map_name, cmap_csi, opt) < 0) {
CIDFont_release(font);
+ RELEASE(font);
release_opt(opt);
return -1;
} else {
diff -up texlive-20180414/source/texk/dvipdfm-x/dvi.c.me texlive-20180414/source/texk/dvipdfm-x/dvi.c
--- texlive-20180414/source/texk/dvipdfm-x/dvi.c.me 2018-08-14 14:31:53.138750339 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/dvi.c 2018-08-14 14:41:37.729500250 +0100
@@ -1001,8 +1001,11 @@ dvi_locate_native_font (const char *file
char *enc_vec[256];
fp = DPXFOPEN(filename, DPX_RES_TYPE_T1FONT);
- if (!fp)
+ if (!fp) {
+ if (path)
+ free(path);
return -1;
+ }
if (!is_pfb(fp))
ERROR("Failed to read Type 1 font \"%s\".", filename);
diff -up texlive-20180414/source/texk/dvipdfm-x/fontmap.c.me texlive-20180414/source/texk/dvipdfm-x/fontmap.c
--- texlive-20180414/source/texk/dvipdfm-x/fontmap.c.me 2018-09-24 12:45:22.068268381 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/fontmap.c 2018-09-24 12:45:13.508111517 +0100
@@ -849,8 +849,8 @@ pdf_insert_fontmap_record (const char *k
subfont_ids = sfd_get_subfont_ids(sfd_name, &n);
if (!subfont_ids) {
RELEASE(fnt_name);
- RELEASE(sfd_name);
WARN("Could not open SFD file: %s", sfd_name);
+ RELEASE(sfd_name);
return NULL;
}
if (verbose > 3)
diff -up texlive-20180414/source/texk/dvipdfm-x/otl_conf.c.me texlive-20180414/source/texk/dvipdfm-x/otl_conf.c
--- texlive-20180414/source/texk/dvipdfm-x/otl_conf.c.me 2018-09-24 12:55:36.589529234 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/otl_conf.c 2018-09-24 12:55:27.339359728 +0100
@@ -83,6 +83,7 @@ parse_uc_coverage (pdf_obj *gclass, cons
pdf_add_array(coverage,
pdf_link_obj(pdf_get_array(cvalues, i)));
}
+ RELEASE(glyphclass);
}
break;
default:
diff -up texlive-20180414/source/texk/dvipdfm-x/otl_opt.c.me texlive-20180414/source/texk/dvipdfm-x/otl_opt.c
--- texlive-20180414/source/texk/dvipdfm-x/otl_opt.c.me 2018-09-24 13:00:10.034538046 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/otl_opt.c 2018-09-24 13:13:31.949224947 +0100
@@ -134,6 +134,7 @@ parse_expr (const char **pp, const char
expr = parse_expr(pp, endptr);
if (!expr) {
WARN("Syntax error: %s\n", *pp);
+ bt_release_tree(root);
return NULL;
}
if (**pp != ')') {
diff -up texlive-20180414/source/texk/dvipdfm-x/pdfdoc.c.me texlive-20180414/source/texk/dvipdfm-x/pdfdoc.c
--- texlive-20180414/source/texk/dvipdfm-x/pdfdoc.c.me 2018-09-24 13:04:07.928895033 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/pdfdoc.c 2018-09-24 13:04:39.329470128 +0100
@@ -825,7 +825,7 @@ pdf_doc_close_page_tree (pdf_doc *p)
pdf_page *page;
page = doc_get_page_entry(p, page_no);
- if (page->page_obj) {
+ if (page->page_ref) {
WARN("Nonexistent page #%ld refered.", page_no);
pdf_release_obj(page->page_ref);
page->page_ref = NULL;
diff -up texlive-20180414/source/texk/dvipdfm-x/pdfencrypt.c.me texlive-20180414/source/texk/dvipdfm-x/pdfencrypt.c
--- texlive-20180414/source/texk/dvipdfm-x/pdfencrypt.c.me 2018-09-24 13:05:05.679952732 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/pdfencrypt.c 2018-09-24 13:10:25.655813021 +0100
@@ -616,7 +616,7 @@ pdf_enc_set_passwd (unsigned int bits, u
}
if (uplain) {
if (preproc_password(uplain, upasswd, p->V) < 0)
- WARN("Invalid UTF-8 string for passowrd.");
+ WARN("Invalid UTF-8 string for password.");
} else {
while (1) {
strncpy(input, getpass("User password: "), MAX_PWD_LEN);
diff -up texlive-20180414/source/texk/dvipdfm-x/pdfobj.c.me texlive-20180414/source/texk/dvipdfm-x/pdfobj.c
--- texlive-20180414/source/texk/dvipdfm-x/pdfobj.c.me 2018-09-24 13:12:23.727975488 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/pdfobj.c 2018-09-24 13:12:43.988346552 +0100
@@ -1862,8 +1862,9 @@ apply_filter_TIFF2_1_2_4 (unsigned char
}
}
}
- if (outbits > 0)
+ if (outbits > 0) {
raster[k] = (outbuf << (8 - outbits)); k++;
+ }
}
RELEASE(prev);
}
diff -up texlive-20180414/source/texk/dvipdfm-x/pkfont.c.me texlive-20180414/source/texk/dvipdfm-x/pkfont.c
--- texlive-20180414/source/texk/dvipdfm-x/pkfont.c.me 2018-09-24 13:14:24.490187294 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/pkfont.c 2018-09-24 13:17:33.873656807 +0100
@@ -329,6 +329,7 @@ pk_decode_bitmap (pdf_obj *stream, uint3
}
}
+ free(rowptr);
return 0;
}
diff -up texlive-20180414/source/texk/dvipdfm-x/spc_dvips.c.me texlive-20180414/source/texk/dvipdfm-x/spc_dvips.c
--- texlive-20180414/source/texk/dvipdfm-x/spc_dvips.c.me 2018-09-24 13:20:43.777135845 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/spc_dvips.c 2018-09-24 13:45:28.104313939 +0100
@@ -402,6 +402,7 @@ spc_handler_ps_tricks_bput (struct spc_e
temporary_defs = dpx_create_temp_file();
if (!temporary_defs) {
WARN("Failed to create temporary input file for PSTricks image conversion.");
+ free(formula);
return -1;
}
@@ -455,7 +456,7 @@ spc_handler_ps_tricks_brotate (struct sp
if (calculate_PS(cmd, strlen(cmd), &value, 0, 0, 0, 0, 0) != 0)
return -1;
RAngles[RAngleCount] = value;
-
+ free(cmd);
return spc_handler_xtx_do_transform (spe->x_user, spe->y_user,
cos(value * M_PI / 180), sin(value * M_PI / 180),
-sin(value * M_PI / 180), cos(value * M_PI / 180),
@@ -491,12 +492,17 @@ spc_handler_ps_tricks_transform (struct
concat[strlen(post)] = 0;
concat = strstr(cmd, "{");
*concat = ' ';
- if (calculate_PS(cmd, strlen(cmd), &d1, &d2, &d3, &d4, &d5, &d6) != 0)
+ if (calculate_PS(cmd, strlen(cmd), &d1, &d2, &d3, &d4, &d5, &d6) != 0) {
+ free(cmd);
return -1;
- if (spc_handler_xtx_gsave (0, 0) != 0)
+ }
+ if (spc_handler_xtx_gsave (0, 0) != 0) {
+ free(cmd);
return -1;
+ }
return spc_handler_xtx_do_transform (spe->x_user, spe->y_user, d1, d2, d3, d4, d5, d6);
}
+ free(cmd);
return spc_handler_xtx_grestore (0, 0);
}
@@ -570,7 +576,8 @@ spc_handler_ps_tricks_parse_path (struct
fwrite(args->curptr, 1, clip - args->curptr, fp);
fprintf(fp, " stroke ");
skip_white(&clip, args->endptr);
- parse_ident(&clip, args->endptr);
+ char *token = parse_ident(&clip, args->endptr);
+ free(token);
fwrite(clip, 1, args->endptr - clip, fp);
}
#endif
@@ -610,7 +617,9 @@ spc_handler_ps_tricks_parse_path (struct
if (error) {
WARN("Image format conversion for PSTricks failed.");
RELEASE(gs_in);
+ RELEASE(gs_out);
gs_in = 0;
+ gs_out = 0;
return error;
}
@@ -706,6 +715,7 @@ spc_handler_ps_tricks_render (struct spc
WARN("Image format conversion for PSTricks failed.");
RELEASE(gs_in);
gs_in = 0;
+ RELEASE(gs_out);
return error;
}
@@ -1074,9 +1084,10 @@ int calculate_PS (char *string, int leng
fscanf(coord, " %lf %lf ", res1, res2);
else
fscanf(coord, " [%lf %lf %lf %lf %lf %lf] ", res1, res2, res3, res4, res5, res6);
- } else
+ } else {
+ RELEASE(cmd);
return -1;
-
+ }
pclose(coord);
RELEASE(cmd);
dpx_delete_temp_file(formula, true);
diff -up texlive-20180414/source/texk/dvipdfm-x/spc_util.c.me texlive-20180414/source/texk/dvipdfm-x/spc_util.c
--- texlive-20180414/source/texk/dvipdfm-x/spc_util.c.me 2018-09-24 13:50:50.730216569 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/spc_util.c 2018-09-24 13:54:23.844113385 +0100
@@ -149,6 +149,7 @@ spc_read_color_color (struct spc_env *sp
char *color_name = parse_c_ident(&ap->curptr, ap->endptr);
if (!color_name) {
spc_warn(spe, "No valid spot color name specified?");
+ RELEASE(q);
return -1;
}
skip_blank(&ap->curptr, ap->endptr);
diff -up texlive-20180414/source/texk/dvipdfm-x/t1_load.c.me texlive-20180414/source/texk/dvipdfm-x/t1_load.c
--- texlive-20180414/source/texk/dvipdfm-x/t1_load.c.me 2018-09-24 13:55:59.085854887 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/t1_load.c 2018-09-24 13:58:52.979034543 +0100
@@ -632,6 +632,9 @@ parse_subrs (cff_font *font,
if (!PST_INTEGERTYPE(tok) || pst_getIV(tok) < 0 ||
pst_getIV(tok) > CS_STR_LEN_MAX) {
RELEASE_TOK(tok);
+ if (offsets) RELEASE(offsets);
+ if (data) RELEASE(data);
+ if (lengths) RELEASE(lengths);
return -1;
}
len = pst_getIV(tok);
diff -up texlive-20180414/source/texk/dvipdfm-x/tt_cmap.c.me texlive-20180414/source/texk/dvipdfm-x/tt_cmap.c
--- texlive-20180414/source/texk/dvipdfm-x/tt_cmap.c.me 2018-09-24 14:03:33.954172208 +0100
+++ texlive-20180414/source/texk/dvipdfm-x/tt_cmap.c 2018-09-24 14:07:07.738081269 +0100
@@ -1237,6 +1237,7 @@ otf_create_ToUnicode_stream (const char
res_id = pdf_findresource("CMap", cmap_name);
if (res_id >= 0) {
RELEASE(cmap_name);
+ RELEASE(normalized_font_name);
cmap_ref = pdf_get_resource_reference(res_id);
return cmap_ref;
}
@@ -1254,6 +1255,7 @@ otf_create_ToUnicode_stream (const char
sfont = dfont_open(fp, ttc_index);
} else {
RELEASE(cmap_name);
+ RELEASE(normalized_font_name);
return NULL;
}
diff -up texlive-20180414/source/texk/dvipng/dvipng-src/font.c.me texlive-20180414/source/texk/dvipng/dvipng-src/font.c
diff -up texlive-20180414/source/texk/dvipng/dvipng-src/misc.c.me texlive-20180414/source/texk/dvipng/dvipng-src/misc.c
diff -up texlive-20180414/source/texk/dvipng/dvipng-src/sfd.c.me texlive-20180414/source/texk/dvipng/dvipng-src/sfd.c
--- texlive-20180414/source/texk/dvipng/dvipng-src/sfd.c.me 2018-09-24 14:25:21.188076748 +0100
+++ texlive-20180414/source/texk/dvipng/dvipng-src/sfd.c 2018-09-24 14:28:14.741252282 +0100
@@ -139,8 +139,10 @@ struct psfontmap* FindSubFont(struct psf
sfdname[postfix-sfdspec]='\0';
/* Check postfix */
postfix++;
- if (strcmp(sfdwant+strlen(sfdwant)-strlen(postfix),postfix)!=0)
+ if (strcmp(sfdwant+strlen(sfdwant)-strlen(postfix),postfix)!=0) {
+ free(sfdname);
return(NULL);
+ }
/* Extract infix */
if ((infix=malloc(strlen(sfdwant)-strlen(postfix)+1))==NULL)
Fatal("cannot allocate memory for subfont infix");
diff -up texlive-20180414/source/texk/dvipos/dvipos.c.me texlive-20180414/source/texk/dvipos/dvipos.c
--- texlive-20180414/source/texk/dvipos/dvipos.c.me 2018-09-24 14:28:22.821400126 +0100
+++ texlive-20180414/source/texk/dvipos/dvipos.c 2018-09-24 14:33:37.367155421 +0100
@@ -246,7 +246,7 @@ int main (int argc, char *argv[])
if (infname) free(infname);
if (outfname) free(outfname);
- if (bbxfname) free(frmfname);
+ if (bbxfname) free(bbxfname);
if (frmfname) free(frmfname);
if (outfp) fclose(outfp);
diff -up texlive-20180414/source/texk/dvipsk/dospecial.c.me texlive-20180414/source/texk/dvipsk/dospecial.c
diff -up texlive-20180414/source/texk/dvipsk/emspecial.c.me texlive-20180414/source/texk/dvipsk/emspecial.c
--- texlive-20180414/source/texk/dvipsk/emspecial.c.me 2018-09-24 15:01:40.267917277 +0100
+++ texlive-20180414/source/texk/dvipsk/emspecial.c 2018-09-24 15:20:25.108474385 +0100
@@ -811,8 +813,10 @@ MSP_2_ps(FILE *f, int wide, int high)
linelen = (halfword *) mymalloc((integer)sizeof(halfword) * high);
for (i = 0; i < high; i++) {
linelen[i] = readhalfword(f);
- if (feof(f))
+ if (feof(f)) {
+ free(linelen);
return;
+ }
}
line = (char *) mymalloc((integer)tobyte(wide));
@@ -1308,6 +1312,8 @@ bmpgraph(FILE *f, char *filename, float
default:
sprintf(errbuf,"em:graph: Unknown BMP compression\n");
specerror(errbuf);
+ if (line) free(line);
+ if (pshexa) free(pshexa);
return;
}
--- texlive-20180414/source/texk/dvipsk/t1part.c.me 2018-09-24 15:47:04.767750977 +0100
+++ texlive-20180414/source/texk/dvipsk/t1part.c 2018-09-24 16:02:33.294747092 +0100
@@ -2458,6 +2458,7 @@ Afm(void)
}
}
}
+ fclose(fafm);
return -2;
}
@@ -2526,6 +2527,7 @@ FontPart(FILE *fout, unsigned char *font
NameOfProgram();
(void) fprintf(stderr,
"Error: %s is not a valid PFA file\n", fontfile);
+ fclose(fin);
return -1;
}
@@ -2543,6 +2545,7 @@ FontPart(FILE *fout, unsigned char *font
NameOfProgram();
(void) fprintf(stderr,
"Error: %s is not a valid PFB file\n", fontfile);
+ fclose(fin);
return -1;
}
break;
@@ -2677,6 +2680,7 @@ LoadVector(int num, CHAR *TmpChar)
}
else
{
+ fclose(fvect);
fprintf(stderr,"\n Error: ending token 'def' not found in <%s> \n",
psvectfile);
return -2;
diff -up texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/splineorder2.c.me texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/splineorder2.c
--- texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/splineorder2.c.me 2018-09-25 08:19:26.742304540 +0100
+++ texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/splineorder2.c 2018-09-25 08:20:04.753003584 +0100
@@ -1289,9 +1289,9 @@ return;
unit.x = from->nextcp.x-from->me.x;
unit.y = from->nextcp.y-from->me.y;
len = sqrt(unit.x*unit.x + unit.y*unit.y);
- if ( len!=0 )
+ if ( len!=0 ) {
unit.x /= len; unit.y /= len;
-
+ }
if ( (fpt = from->pointtype)==pt_hvcurve ) fpt = pt_curve;
if ( (tpt = to->pointtype)==pt_hvcurve ) tpt = pt_curve;
if ( from->nextcpdef && to->prevcpdef ) switch ( fpt*3+tpt ) {
diff -up texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/tottf.c.me texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/tottf.c
--- texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/tottf.c.me 2018-09-25 09:12:58.071419844 +0100
+++ texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/tottf.c 2018-09-25 09:12:50.021271829 +0100
@@ -4273,9 +4273,10 @@ return( NULL );
(subheadcnt-i)*sizeof(struct subhead) + sizeof(uint16);
sub = tmpfile2();
- if ( sub==NULL )
-return( NULL );
-
+ if ( sub==NULL ) {
+ free(glyphs);
+ return( NULL );
+ }
putshort(sub,2); /* 8/16 format */
putshort(sub,0); /* Subtable length, we'll come back and fix this */
putshort(sub,0); /* version/language, not meaningful in ms systems */
diff -up texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/ttfspecial.c.me texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/ttfspecial.c
--- texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/ttfspecial.c.me 2018-09-25 09:50:27.032676224 +0100
+++ texlive-20180414/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/fontforge/ttfspecial.c 2018-09-25 09:47:22.249288133 +0100
@@ -1343,6 +1343,8 @@ static void pfed_read_glyph_layer(FILE *
LogError(_("Whoops, Ran out of spiros\n"));
}
}
+ free(cur->layers);
+ free(cur);
free(contours);
}
diff -up texlive-20180414/source/texk/kpathsea/cnf.c.me texlive-20180414/source/texk/kpathsea/cnf.c
--- texlive-20180414/source/texk/kpathsea/cnf.c.me 2018-09-25 10:02:44.406129099 +0100
+++ texlive-20180414/source/texk/kpathsea/cnf.c 2018-09-25 10:50:20.648575054 +0100
@@ -132,6 +132,8 @@ do_line (kpathsea kpse, string line)
while (len > 0 && ISSPACE (start[len - 1]))
len--;
if (len == 0) {
+ if (prog) free (prog);
+ if (var) free (var);
return ("No cnf value");
}
@@ -234,7 +236,6 @@ read_all_cnf (kpathsea kpse)
xfclose (cnf_file, *cnf);
free (*cnf);
}
- free (cnf_files);
} else {
string warn = getenv ("KPATHSEA_WARNING");
if (!(warn && STREQ (warn, "0"))) {
@@ -243,6 +244,7 @@ read_all_cnf (kpathsea kpse)
cnf_path);
}
}
+ free (cnf_files);
}
/* Read the cnf files on the first call. Return the first value in the
diff -up texlive-20180414/source/texk/kpathsea/fontmap.c.me texlive-20180414/source/texk/kpathsea/fontmap.c
--- texlive-20180414/source/texk/kpathsea/fontmap.c.me 2018-09-25 10:24:28.990061334 +0100
+++ texlive-20180414/source/texk/kpathsea/fontmap.c 2018-09-25 10:25:08.310783006 +0100
@@ -162,6 +162,7 @@ read_all_maps (kpathsea kpse)
map_file_parse (kpse, *filenames);
filenames++;
}
+ free(filenames);
}
/* Look up KEY in texfonts.map's; if it's not found, remove any suffix
diff -up texlive-20180414/source/texk/kpathsea/kpsewhich.c.me texlive-20180414/source/texk/kpathsea/kpsewhich.c
--- texlive-20180414/source/texk/kpathsea/kpsewhich.c.me 2018-09-25 10:29:35.985696560 +0100
+++ texlive-20180414/source/texk/kpathsea/kpsewhich.c 2018-09-25 10:50:53.349178562 +0100
@@ -742,7 +742,8 @@ kpathsea_set_program_enabled (kpse, fmt,
DISABLE_MKTEX (kpse_ocp_format);
/* NULL for no fallback font. */
- kpathsea_init_prog (kpse, uppercasify (kpse->program_name), dpi, mode, NULL);
+ string PROG = uppercasify (kpse->program_name);
+ kpathsea_init_prog (kpse, PROG, dpi, mode, NULL);
/* Have to do this after setting the program name. */
if (user_format_string) {
@@ -752,6 +753,7 @@ kpathsea_set_program_enabled (kpse, fmt,
user_format_string);
}
}
+ free(PROG);
}
diff -up texlive-20180414/source/texk/kpathsea/mktexlsr.me texlive-20180414/source/texk/kpathsea/mktexlsr
--- texlive-20180414/source/texk/kpathsea/mktexlsr.me 2018-08-14 09:49:37.815932357 +0100
+++ texlive-20180414/source/texk/kpathsea/mktexlsr 2018-08-14 09:51:12.685644501 +0100
@@ -71,18 +71,18 @@ esac
if tty -s; then verbose=true; else verbose=false; fi
dry_run=false
-trees=
+trees=mktexlsrtrees
# initialize treefile by either mktemp or some random name
# code taken from pdfjam and adjusted
{
treefile=`
- (umask 077 && mktemp "${TMPDIR-/tmp}/mktexlsrtrees.XXXXXXXXXX") 2>/dev/null
+ (umask 077 && mktemp "${TMPDIR-/tmp}/$trees.XXXXXXXXXX") 2>/dev/null
` && test -n "$treefile" && test -f "$treefile"
} || {
## We'll use awk to make random number, for portability
random=`awk 'END { srand(); printf ("%d\n", rand()*1000000); }' /dev/null`
- treefile="${TMPDIR-/tmp}/mktexlsrtrees$$.$random"
+ treefile="${TMPDIR-/tmp}/$trees$$.$random"
} || exit $?
trap 'cd /; rm -f $treefile; test -z "$db_dir_tmp" || rm -rf "$db_dir_tmp";
diff -up texlive-20180414/source/texk/kpathsea/tex-file.c.me texlive-20180414/source/texk/kpathsea/tex-file.c
--- texlive-20180414/source/texk/kpathsea/tex-file.c.me 2018-09-25 10:47:56.305911131 +0100
+++ texlive-20180414/source/texk/kpathsea/tex-file.c 2018-09-25 13:11:34.995055022 +0100
@@ -434,6 +434,7 @@ init_maketex (kpathsea kpse, kpse_file_f
kpse_src_client_cnf);
}
+ if (progval) free (progval);
free (PROG);
}
diff -up texlive-20180414/source/texk/kpathsea/tex-glyph.c.me texlive-20180414/source/texk/kpathsea/tex-glyph.c
--- texlive-20180414/source/texk/kpathsea/tex-glyph.c.me 2018-09-25 14:58:28.564047833 +0100
+++ texlive-20180414/source/texk/kpathsea/tex-glyph.c 2018-09-25 14:59:16.634928903 +0100
@@ -177,7 +177,7 @@ try_fontmap (kpathsea kpse, const_string
*fontname_ptr = xstrdup (first_name);
}
}
-
+ free (mapped_names);
return ret;
}
diff -up texlive-20180414/source/texk/kpathsea/tex-make.c.me texlive-20180414/source/texk/kpathsea/tex-make.c
--- texlive-20180414/source/texk/kpathsea/tex-make.c.me 2018-10-01 12:28:44.510074773 +0100
+++ texlive-20180414/source/texk/kpathsea/tex-make.c 2018-10-01 13:24:01.201630392 +0100
@@ -116,8 +116,9 @@ misstex (kpathsea kpse, kpse_file_format
kpse->missfont
= missfont_name ? fopen (missfont_name, FOPEN_A_MODE) : NULL;
- if (!kpse->missfont && kpathsea_var_value (kpse, "TEXMFOUTPUT")) {
- missfont_name = concat3 (kpathsea_var_value (kpse, "TEXMFOUTPUT"),
+ char *texmfoutput = kpathsea_var_value (kpse, "TEXMFOUTPUT");
+ if (!kpse->missfont && texmfoutput) {
+ missfont_name = concat3 (texmfoutput,
DIR_SEP_STRING, missfont_name);
kpse->missfont = fopen (missfont_name, FOPEN_A_MODE);
}
@@ -125,6 +126,7 @@ misstex (kpathsea kpse, kpse_file_format
if (kpse->missfont)
fprintf (stderr, "kpathsea: Appending font creation commands to %s.\n",
missfont_name);
+ free (texmfoutput);
}
/* Write the command if we have a log file. */
@@ -439,6 +441,7 @@ kpathsea_make_tex (kpathsea kpse, kpse_f
if (base[0] == '-' /* || IS_DIR_SEP(base[0]) */) {
fprintf(stderr, "kpathsea:make_tex: Invalid filename `%s', starts with '%c'\n",
base, base[0]);
+ free (args);
return NULL;
}
for (i = 0; base[i]; i++) {
@@ -451,6 +454,7 @@ kpathsea_make_tex (kpathsea kpse, kpse_f
{
fprintf(stderr, "kpathsea:make_tex: Invalid filename `%s', contains '%c'\n",
base, base[i]);
+ free (args);
return NULL;
}
}
diff -up texlive-20180414/source/texk/makeindexk/mkindex.me texlive-20180414/source/texk/makeindexk/mkindex
--- texlive-20180414/source/texk/makeindexk/mkindex.me 2018-08-14 09:48:13.864392161 +0100
+++ texlive-20180414/source/texk/makeindexk/mkindex 2018-08-14 09:48:34.564771939 +0100
@@ -13,7 +13,7 @@ unset RUNNING_BSH
progname=`basename $0`
case $# in
0)
- echo "usage: `basename $0` file[.idx] ..." 1>&2
+ echo "usage: $progname file[.idx] ..." 1>&2
exit 1
;;
esac
diff -up texlive-20180414/source/texk/web2c/lib/openclose.c.me texlive-20180414/source/texk/web2c/lib/openclose.c
--- texlive-20180414/source/texk/web2c/lib/openclose.c.me 2018-10-02 15:06:29.670502929 +0100
+++ texlive-20180414/source/texk/web2c/lib/openclose.c 2018-10-02 15:09:52.234270066 +0100
@@ -303,6 +303,7 @@ open_output (FILE **f_ptr, const_string
fname = concat3(texmfoutput, DIR_SEP_STRING, nameoffile+1);
*f_ptr = fopen(fname, fopen_mode);
}
+ free (texmfoutput);
}
/* If this succeeded, change nameoffile accordingly. */
if (*f_ptr) {
diff -up texlive-20180414/source/texk/web2c/lib/texmfmp.c.me texlive-20180414/source/texk/web2c/lib/texmfmp.c
--- texlive-20180414/source/texk/web2c/lib/texmfmp.c.me 2018-10-04 09:45:15.432099911 +0100
+++ texlive-20180414/source/texk/web2c/lib/texmfmp.c 2018-10-04 10:22:47.004046653 +0100
@@ -654,7 +654,9 @@ static boolean
texmf_yesno(const_string var)
{
string value = kpse_var_value (var);
- return value && (*value == 't' || *value == 'y' || *value == '1');
+ boolean temp_value = (value && (*value == 't' || *value == 'y' || *value == '1'));
+ free (value);
+ return temp_value;
}
#ifdef pdfTeX
@@ -899,6 +901,7 @@ maininit (int ac, string *av)
}
DUMP_VAR = concat (" ", with_ext); /* adjust array for Pascal */
DUMP_LENGTH_VAR = strlen (DUMP_VAR + 1);
+ free (with_ext);
} else {
/* For dump_name to be NULL is a bug. */
abort();
@@ -1379,11 +1382,9 @@ tcx_get_num (int upb,
void
readtcxfile (void)
{
- string orig_filename;
if (!find_suffix (translate_filename)) {
translate_filename = concat (translate_filename, ".tcx");
}
- orig_filename = translate_filename;
translate_filename
= kpse_find_file (translate_filename, kpse_web2c_format, true);
if (translate_filename) {
@@ -1434,7 +1435,7 @@ readtcxfile (void)
}
xfclose(translate_file, translate_filename);
} else {
- WARNING1 ("Could not open char translation file `%s'", orig_filename);
+ WARNING1 ("Could not open char translation file `%s'", translate_filename);
}
}
#endif /* !Aleph && !XeTeX */
@@ -2888,7 +2889,9 @@ boolean
isnewsource (strnumber srcfilename, int lineno)
{
char *name = gettexstring(srcfilename);
- return (compare_paths(name, last_source_name) != 0 || lineno != last_lineno);
+ boolean tmp_name = (compare_paths(name, last_source_name) != 0 || lineno != last_lineno);
+ free (name);
+ return tmp_name;
}
void
@@ -2926,6 +2929,7 @@ makesrcspecial (strnumber srcfilename, i
while (*s)
strpool[poolptr++] = *s++;
+ free (filename);
return (oldpoolptr);
}
@@ -3223,6 +3227,7 @@ void getfiledump(integer s, int offset,
recorder_record_input(file_name);
if (fseek(f, offset, SEEK_SET) != 0) {
xfree(file_name);
+ fclose(f);
return;
}
/* there is enough space in the string pool, the read
diff -up texlive-20180414/source/texk/web2c/luatexdir/font/luafont.w.me texlive-20180414/source/texk/web2c/luatexdir/font/luafont.w
--- texlive-20180414/source/texk/web2c/luatexdir/font/luafont.w.me 2018-10-04 10:46:48.310815583 +0100
+++ texlive-20180414/source/texk/web2c/luatexdir/font/luafont.w 2018-10-04 10:57:37.192864136 +0100
@@ -1102,8 +1102,8 @@ static void font_char_from_lua(lua_State
{
int k, r, t, lt, u, n;
charinfo *co;
- kerninfo *ckerns;
- liginfo *cligs;
+ kerninfo *ckerns = NULL;
+ liginfo *cligs = NULL;
scaled j;
const char *s;
int nl = 0; /* number of ligature table items */
@@ -1403,6 +1403,8 @@ static void font_char_from_lua(lua_State
lua_pop(L, 1); /* ligatures table */
}
}
+ if (ckerns) free (ckerns);
+ if (cligs) free (cligs);
}
@ The caller has to fix the state of the lua stack when there is an error!
diff -up texlive-20180414/source/texk/web2c/luatexdir/font/tfmofm.w.me texlive-20180414/source/texk/web2c/luatexdir/font/tfmofm.w
--- texlive-20180414/source/texk/web2c/luatexdir/font/tfmofm.w.me 2018-10-04 11:06:22.002603849 +0100
+++ texlive-20180414/source/texk/web2c/luatexdir/font/tfmofm.w 2018-10-04 11:06:46.713062328 +0100
@@ -1036,6 +1036,8 @@ int read_tfm_info(internal_font_number f
}
}
+ free (cligs);
+ free (ckerns);
cligs = NULL;
ckerns = NULL;
diff -up texlive-20180414/source/texk/web2c/luatexdir/font/vfovf.w.me texlive-20180414/source/texk/web2c/luatexdir/font/vfovf.w
--- texlive-20180414/source/texk/web2c/luatexdir/font/vfovf.w.me 2018-10-04 13:46:33.030731080 +0100
+++ texlive-20180414/source/texk/web2c/luatexdir/font/vfovf.w 2018-10-04 14:05:38.882001697 +0100
@@ -760,6 +760,8 @@ void do_vf(internal_font_number f)
vf_read_u(4, utmp);
cc = (int) utmp;
if (!char_exists(f, cc)) {
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
bad_vf("invalid character code");
}
vf_read(4, k);
@@ -768,6 +770,8 @@ void do_vf(internal_font_number f)
packet_length = cmd;
vf_byte(cc);
if (!char_exists(f, cc)) {
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
bad_vf("invalid character code");
}
vf_read_u(3, utmp);
@@ -820,9 +824,12 @@ void do_vf(internal_font_number f)
n = 0;
while ((n < vf_nf) && (vf_local_fnts[n] != (unsigned) k))
n++;
- if (n == vf_nf)
+ if (n == vf_nf) {
+ if (vpackets) free (vpackets);
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
bad_vf("undefined local font");
-
+ }
k = (int) vf_real_fnts[n];
append_fnt_set(k);
cmd_length = 0;
@@ -938,8 +945,12 @@ void do_vf(internal_font_number f)
vf_read_u((cmd - xxx1 + 1), utmp);
cmd_length = (int) utmp;
packet_length -= (cmd - xxx1 + 1);
- if (cmd_length <= 0)
+ if (cmd_length <= 0) {
+ if (vpackets) free (vpackets);
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
bad_vf("special of negative length");
+ }
packet_length -= (unsigned) cmd_length;
append_packet(packet_special_code);
@@ -982,6 +993,9 @@ void do_vf(internal_font_number f)
break;
case pop:
if (stack_level == 0) {
+ if (vpackets) free (vpackets);
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
bad_vf("more POPs than PUSHs in character");
} else {
decr(stack_level);
@@ -993,6 +1007,9 @@ void do_vf(internal_font_number f)
}
break;
default:
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
+ if (vpackets) free (vpackets);
bad_vf("improver DVI command");
}
}
@@ -1000,18 +1017,26 @@ void do_vf(internal_font_number f)
/* signal end of packet */
append_packet(packet_end_code);
- if (stack_level != 0)
+ if (stack_level != 0) {
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
+ if (vpackets) free (vpackets);
bad_vf("more PUSHs than POPs in character packet");
+ }
if (packet_length != 0)
bad_vf("invalid packet length or DVI command in packet");
/* \.{Store the packet being built} */
set_charinfo_packets(co, vpackets);
vf_byte(cmd);
}
- if (cmd != post)
+ if (cmd != post) {
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
bad_vf("POST command expected");
-
+ }
xfree(vf_buffer);
+ if (vf_local_fnts) free (vf_local_fnts);
+ if (vf_real_fnts) free (vf_real_fnts);
}
@ @c
diff -up texlive-20180414/source/texk/web2c/luatexdir/font/writecff.w.me texlive-20180414/source/texk/web2c/luatexdir/font/writecff.w
--- texlive-20180414/source/texk/web2c/luatexdir/font/writecff.w.me 2018-10-04 14:46:50.747887890 +0100
+++ texlive-20180414/source/texk/web2c/luatexdir/font/writecff.w 2018-10-04 16:09:12.999654546 +0100
@@ -1105,6 +1105,7 @@ cff_font *read_cff(unsigned char *buf, l
if (n > idx->count - 1) {
normal_warning("cff","invalid fontset index number");
cff_close(cff);
+ cff_release_index(idx);
return NULL;
}
cff->name = idx;
@@ -1121,6 +1122,7 @@ cff_font *read_cff(unsigned char *buf, l
if (n > idx->count - 1) {
normal_warning("cff","top DICT not exist");
+ cff_release_index(idx);
cff_close(cff);
return NULL;
}
@@ -1128,6 +1130,7 @@ cff_font *read_cff(unsigned char *buf, l
idx->data + idx->offset[n + 1] - 1);
if (!cff->topdict) {
normal_warning("cff","parsing top DICT data failed");
+ cff_release_index(idx);
cff_close(cff);
return NULL;
}
@@ -3037,6 +3040,7 @@ cffont->_string = NULL;
pdf_out_block(pdf, stream, l);
pdf_end_stream(pdf);
pdf_end_obj(pdf);
+ free(stream);
}
}
/*
diff -up texlive-20180414/source/texk/web2c/luatexdir/font/writetype2.w.me texlive-20180414/source/texk/web2c/luatexdir/font/writetype2.w
--- texlive-20180414/source/texk/web2c/luatexdir/font/writetype2.w.me 2018-10-04 16:13:09.614046152 +0100
+++ texlive-20180414/source/texk/web2c/luatexdir/font/writetype2.w 2018-10-04 16:13:43.084667255 +0100
@@ -406,6 +406,7 @@ boolean make_tt_subset(PDF pdf, fd_entry
pdf_out_block(pdf, stream, l);
pdf_end_stream(pdf);
pdf_end_obj(pdf);
+ free(stream);
}
}
}