summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipsk/color.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvipsk/color.c')
-rw-r--r--Build/source/texk/dvipsk/color.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Build/source/texk/dvipsk/color.c b/Build/source/texk/dvipsk/color.c
index d4b0867320c..f78d52630b3 100644
--- a/Build/source/texk/dvipsk/color.c
+++ b/Build/source/texk/dvipsk/color.c
@@ -37,7 +37,7 @@ static struct colorpage {
struct colorpage *next;
integer boploc; /* we use the bop loc as a page indicator */
char *bg;
- char colordat[2];
+ char *colordat;
} *colorhash[COLORHASH];
static char *cstack, *csp, *cend, *bg;
/*
@@ -84,6 +84,7 @@ void initcolor(void) {
for (i=0; i<COLORHASH; i++) {
for (p=colorhash[i]; p; p = q) {
q = p->next;
+ free(p->colordat);
free(p);
}
colorhash[i] = 0;
@@ -216,7 +217,8 @@ bopcolor(int outtops)
}
} else {
p = (struct colorpage *)mymalloc((integer)
- (strlen(cstack) + sizeof(struct colorpage) + MAXCOLORLEN));
+ (sizeof(struct colorpage)));
+ p->colordat = mymalloc(strlen(cstack) + MAXCOLORLEN + 2);
p->next = colorhash[h];
p->boploc = pageloc;
strcpy(p->colordat, cstack);