From ba3601685c795407a9f3fa96da58f70ddbe941ba Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Fri, 16 May 2003 19:44:25 +0000 Subject: [PATCH] wad pics don't have extensions (plugs a buffer underflow hole) --- libs/video/renderer/gl/gl_draw.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/libs/video/renderer/gl/gl_draw.c b/libs/video/renderer/gl/gl_draw.c index ff799db5f..4a94c09e9 100644 --- a/libs/video/renderer/gl/gl_draw.c +++ b/libs/video/renderer/gl/gl_draw.c @@ -44,6 +44,7 @@ static __attribute__ ((unused)) const char rcsid[] = #include "QF/console.h" #include "QF/cvar.h" #include "QF/draw.h" +#include "QF/dstring.h" #include "QF/quakefs.h" #include "QF/render.h" #include "QF/screen.h" @@ -176,16 +177,14 @@ Draw_PicFromWad (const char *name) { glpic_t *gl; qpic_t *p; - char *filename; + dstring_t *filename = dstring_new (); QFile *f; tex_t *targa; - - filename = strdup (name); - if (!strcmp (filename + strlen(filename) - 4, ".lmp")) - strcpy (filename + strlen(filename) - 4, ".tga"); - QFS_FOpenFile (filename, &f); + dsprintf (filename, "%s.tga", name); + QFS_FOpenFile (filename->str, &f); + dstring_delete (filename); if (f) { targa = LoadTGA (f); Qclose (f);