diff -ur dvi2tty-5.3.4.orig/disdvi.c dvi2tty-5.3.4/disdvi.c --- dvi2tty-5.3.4.orig/disdvi.c 2010-11-13 16:31:14.000000000 +0100 +++ dvi2tty-5.3.4/disdvi.c 2012-06-22 09:12:43.000000000 +0200 @@ -193,7 +193,10 @@ if ((i >= 5) && (!strcmp(*argv+i-4, dvi_ext))) dvi_name = *argv; else { - dvi_name = malloc((i+5) * sizeof(char)); + if ((dvi_name = malloc((i+5) * sizeof(char))) == NULL) { + perror("dvi_name"); + exit(1); + } strcpy(dvi_name, *argv); strcat(dvi_name, dvi_ext); } diff -ur dvi2tty-5.3.4.orig/dvi2tty.c dvi2tty-5.3.4/dvi2tty.c --- dvi2tty-5.3.4.orig/dvi2tty.c 2011-11-21 22:30:24.000000000 +0100 +++ dvi2tty-5.3.4/dvi2tty.c 2012-06-22 10:12:43.000000000 +0200 @@ -53,7 +53,6 @@ /*------------------ end of customization constants ---------------------*/ -#define MAXLEN 100 /* size of char-arrays for strings */ #if defined(MSDOS) || defined(VMS) || defined(AMIGA) #define OPTSET "haJweEpPousltvbcANU" /* legal options */ #define OPTWARG "weEpPovb" /* options with argument */ @@ -109,7 +108,7 @@ char * progname; /* our name */ int Argc; char ** Argv; -char DVIfilename[MAXLEN]; +char * DVIfilename; const char * OUTfilename; char optch; /* for option handling */ @@ -483,7 +482,10 @@ int num; pageswitchon = TRUE; - firstpage = (printlisttype *) malloc(sizeof(printlisttype)); + if ((firstpage = (printlisttype *) malloc(sizeof(printlisttype))) == NULL) { + perror("firstpage"); + exit(1); + } firstpage->all = FALSE; firstpage->nxt = nil; firstpage->pag = 0; @@ -543,7 +545,10 @@ currentpage = lastpage; currentpage->pag = pagnr; - lastpage = (printlisttype *) malloc(sizeof(printlisttype)); + if ((lastpage = (printlisttype *) malloc(sizeof(printlisttype))) == NULL) { + perror("lastpage"); + exit(1); + } lastpage->all = FALSE; lastpage->nxt = nil; lastpage->pag = 0; @@ -566,6 +571,10 @@ i = strlen(str); if (i == 0) usage(ign); + if ((DVIfilename = (char *) malloc(i+5)) == NULL) { + perror("DVIfilename"); + exit(1); + } strcpy(DVIfilename, str); #ifdef KPATHSEA if (!kpse_readable_file(DVIfilename))