mirror of
https://github.com/Shpoike/Quakespasm.git
synced 2024-11-10 07:21:58 +00:00
gl_model.c (Mod_SetExtraFlags): Fixed r_nolerp_list.string parsing code
of fitzquake: the loop was able to go beyond the null terminator of the cvar. (Besides, it would technically yield a false positive because of strncmp(), but much less likely..) git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@517 af15c1b1-3010-417e-b628-4374ebc0bcbd
This commit is contained in:
parent
db8569aa86
commit
8625074bb4
4 changed files with 23 additions and 8 deletions
|
@ -2021,6 +2021,7 @@ void Mod_SetExtraFlags (model_t *mod)
|
|||
{
|
||||
extern cvar_t r_nolerp_list;
|
||||
const char *s;
|
||||
char tmp[MAX_QPATH];
|
||||
int i;
|
||||
|
||||
if (!mod || !mod->name || mod->type != mod_alias)
|
||||
|
@ -2029,17 +2030,27 @@ void Mod_SetExtraFlags (model_t *mod)
|
|||
mod->flags &= 0xFF; //only preserve first byte
|
||||
|
||||
// nolerp flag
|
||||
for (s=r_nolerp_list.string; *s; s += i+1, i=0)
|
||||
s = r_nolerp_list.string;
|
||||
while (*s)
|
||||
{
|
||||
//search forwards to the next comma or end of string
|
||||
for (i=0; s[i] != ',' && s[i] != 0; i++) ;
|
||||
|
||||
// make a copy until the next comma or end of string
|
||||
i = 0;
|
||||
while (*s && *s != ',')
|
||||
{
|
||||
if (i < MAX_QPATH - 1)
|
||||
tmp[i++] = *s;
|
||||
s++;
|
||||
}
|
||||
tmp[i] = '\0';
|
||||
//compare it to the model name
|
||||
if (!strncmp(mod->name, s, i))
|
||||
if (!strcmp(mod->name, tmp))
|
||||
{
|
||||
mod->flags |= MOD_NOLERP;
|
||||
break;
|
||||
}
|
||||
//search forwards to the next comma or end of string
|
||||
while (*s && *s == ',')
|
||||
s++;
|
||||
}
|
||||
|
||||
// noshadow flag (TODO: make this a cvar list)
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<PRE>
|
||||
</PRE>
|
||||
</P>
|
||||
<P>QuakeSpasm 0.85.5 (12 December 2011)</P>
|
||||
<P>QuakeSpasm 0.85.5 (14 December 2011)</P>
|
||||
|
||||
<P>
|
||||
<H2><A NAME="toc1">1.</A> <A HREF="README.html#s1">About </A></H2>
|
||||
|
@ -165,6 +165,7 @@ Compile time options include
|
|||
<LI> Added support for loading external entity files, controlled by new cvar external_ents.</LI>
|
||||
<LI> Made mp3 playback to allocate system memory instead of zone</LI>
|
||||
<LI> Some updates to the progs interpreter code</LI>
|
||||
<LI> Fixed r_nolerp_list parsing code from fitzquake</LI>
|
||||
<LI> Several code updates from uHexen2, several code cleanups.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<toc>
|
||||
<verb></verb>
|
||||
|
||||
QuakeSpasm 0.85.5 (12 December 2011)
|
||||
QuakeSpasm 0.85.5 (14 December 2011)
|
||||
|
||||
<sect> About <p>
|
||||
|
||||
|
@ -99,6 +99,7 @@ Alternatively, have a look at <bf>Makefile.darwin</bf> for more instructions on
|
|||
<item> Added support for loading external entity files, controlled by new cvar external_ents.
|
||||
<item> Made mp3 playback to allocate system memory instead of zone
|
||||
<item> Some updates to the progs interpreter code
|
||||
<item> Fixed r_nolerp_list parsing code from fitzquake
|
||||
<item> Several code updates from uHexen2, several code cleanups.
|
||||
</itemize>
|
||||
</p>
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
______________________________________________________________________
|
||||
|
||||
|
||||
QuakeSpasm 0.85.5 (12 December 2011)
|
||||
QuakeSpasm 0.85.5 (14 December 2011)
|
||||
|
||||
|
||||
1. About
|
||||
|
@ -171,6 +171,8 @@
|
|||
|
||||
o Some updates to the progs interpreter code
|
||||
|
||||
o Fixed r_nolerp_list parsing code from fitzquake
|
||||
|
||||
o Several code updates from uHexen2, several code cleanups.
|
||||
|
||||
5.2. Changes in 0.85.4
|
||||
|
|
Loading…
Reference in a new issue