diff options
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | gui/Config.c | 4 | ||||
| -rw-r--r-- | plugins/dfxvideo/cfg.c | 4 |
3 files changed, 9 insertions, 3 deletions
@@ -1,3 +1,7 @@ +May 31, 2009 Wei Mingzhi <weimingzhi@gmail.com> + + * gui/Config.c, plugins/dfxvideo/cfg.c: Fixed invalid memory access. + May 30, 2009 Wei Mingzhi <weimingzhi@gmail.com> * plugins/peopsxgl/draw.c: Modified for compatiability with x86_64. diff --git a/gui/Config.c b/gui/Config.c index dc8489b1..18c897d7 100644 --- a/gui/Config.c +++ b/gui/Config.c @@ -90,12 +90,14 @@ int LoadConfig(PcsxConfig *Conf) { f = fopen(cfgfile, "r"); if (f == NULL) return -1; - data = (char*)malloc(size); + data = (char*)malloc(size + 1); if (data == NULL) return -1; fread(data, 1, buf.st_size, f); fclose(f); + data[size] = '\0'; + GetValue(data, "Bios", Config.Bios); GetValue(data, "Gpu", Config.Gpu); GetValue(data, "Spu", Config.Spu); diff --git a/plugins/dfxvideo/cfg.c b/plugins/dfxvideo/cfg.c index c341ef05..f98e1256 100644 --- a/plugins/dfxvideo/cfg.c +++ b/plugins/dfxvideo/cfg.c @@ -108,8 +108,8 @@ void ReadConfigFile() in = fopen(t,"rb"); if (!in) return; - pB=(char *)malloc(size); - memset(pB,0,size); + pB=(char *)malloc(size + 1); + memset(pB,0,size + 1); len = fread(pB, 1, size, in); fclose(in); |
