add dicoS->linecount to safely delete dynrefptr[i],
linecount may change if circuits are changed or deleted.
This commit is contained in:
parent
2139f328bb
commit
7dd0eaaf8c
|
|
@ -46,6 +46,7 @@ typedef struct { /* the input scanner data structure */
|
||||||
char **dynrefptr;
|
char **dynrefptr;
|
||||||
char *dyncategory;
|
char *dyncategory;
|
||||||
int hs_compatibility; /* allow extra keywords */
|
int hs_compatibility; /* allow extra keywords */
|
||||||
|
int linecount; /* number of lines in deck */
|
||||||
} dico_t;
|
} dico_t;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -456,6 +456,8 @@ nupa_init(char *srcfile)
|
||||||
dicoS->dyncategory[i] = '?';
|
dicoS->dyncategory[i] = '?';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dicoS->linecount = dynmaxline;
|
||||||
|
|
||||||
if (srcfile != NULL)
|
if (srcfile != NULL)
|
||||||
scopys(&dicoS->srcfile, srcfile);
|
scopys(&dicoS->srcfile, srcfile);
|
||||||
}
|
}
|
||||||
|
|
@ -470,7 +472,7 @@ nupa_del_dicoS(void)
|
||||||
if(!dicoS)
|
if(!dicoS)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (i = dynmaxline; i >= 0; i--)
|
for (i = dicoS->linecount; i >= 0; i--)
|
||||||
txfree(dicoS->dynrefptr[i]);
|
txfree(dicoS->dynrefptr[i]);
|
||||||
|
|
||||||
txfree(dicoS->dynrefptr);
|
txfree(dicoS->dynrefptr);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue