Skip to content

Commit 991fec2

Browse files
committed
QVM: fixed potential issue with overlapping src and dest
see OpenArena/gamecode#346 see ioquake/ioq3#659 see ioquake/ioq3#742
1 parent e1f643e commit 991fec2

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

code/cgame/cg_weapons.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -391,23 +391,20 @@ static void CG_RegisterWeapon(int weaponNum) {
391391
}
392392

393393
if (weaponNum != WP_PUNCHY) {
394-
Q_strncpyz(path, item->world_model[0], sizeof(path));
395-
COM_StripExtension(path, path, sizeof(path));
394+
COM_StripExtension(item->world_model[0], path, sizeof(path));
396395
Q_strcat(path, sizeof(path), "_flash");
397396
weaponInfo->flashModel = trap_R_RegisterModel(path);
398397
}
399398

400399
if (weaponNum == WP_NIPPER || weaponNum == WP_IMPERIUS) // || weaponNum == WP_PUNCHY
401400
{
402-
Q_strncpyz(path, item->world_model[0], sizeof(path));
403-
COM_StripExtension(path, path, sizeof(path));
401+
COM_StripExtension(item->world_model[0], path, sizeof(path));
404402
Q_strcat(path, sizeof(path), "_barrel");
405403
weaponInfo->barrelModel = trap_R_RegisterModel(path);
406404
} else
407405
weaponInfo->barrelModel = 0;
408406

409-
Q_strncpyz(path, item->world_model[0], sizeof(path));
410-
COM_StripExtension(path, path, sizeof(path));
407+
COM_StripExtension(item->world_model[0], path, sizeof(path));
411408
Q_strcat(path, sizeof(path), "_hand");
412409
weaponInfo->handsModel = trap_R_RegisterModel(path);
413410

code/ui/ui_players.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,12 @@ static void UI_PlayerInfo_SetWeapon(playerInfo_t *pi, weapon_t weaponNum) {
8585
}
8686

8787
if (weaponNum == WP_NIPPER || weaponNum == WP_PUNCHY || weaponNum == WP_IMPERIUS) {
88-
strcpy(path, item->world_model[0]);
89-
COM_StripExtension(path, path, sizeof(path));
88+
COM_StripExtension(item->world_model[0], path, sizeof(path));
9089
strcat(path, "_barrel");
9190
pi->barrelModel = trap_R_RegisterModel(path);
9291
}
9392

94-
strcpy(path, item->world_model[0]);
95-
COM_StripExtension(path, path, sizeof(path));
93+
COM_StripExtension(item->world_model[0], path, sizeof(path));
9694
strcat(path, "_flash");
9795
pi->flashModel = trap_R_RegisterModel(path);
9896

0 commit comments

Comments
 (0)