Skip to content

Commit

Permalink
MikMod_InfoDriver: ensure proper nul termination of list
Browse files Browse the repository at this point in the history
  • Loading branch information
sezero committed Dec 25, 2021
1 parent 605e9f3 commit 9db6d2f
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions libmikmod/playercode/mdriver.c
Original file line number Diff line number Diff line change
Expand Up @@ -187,15 +187,16 @@ MIKMODAPI CHAR* MikMod_InfoDriver(void)
MUTEX_LOCK(lists);
/* compute size of buffer */
for(l = firstdriver; l; l = l->next)
len += 4 + (l->next ? 1 : 0) + strlen(l->Version);
len += 4 + 1 + strlen(l->Version);

if(len)
if((list=(CHAR*)MikMod_malloc(len*sizeof(CHAR))) != NULL) {
CHAR *list_end = list;
list[0] = 0;
/* list all registered device drivers : */
for(t = 1, l = firstdriver; l; l = l->next, t++) {
list_end += sprintf(list_end, "%2d %s%s", t, l->Version, (l->next)? "\n" : "");
list_end += sprintf(list_end, "%2d %s\n", t, l->Version);
if (!l->next) list_end[-1] = 0;
}
}
MUTEX_UNLOCK(lists);
Expand Down

0 comments on commit 9db6d2f

Please sign in to comment.