summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY2
-rw-r--r--PLUGINS/src/pictures/HISTORY4
-rw-r--r--PLUGINS/src/pictures/pictures.c4
-rw-r--r--PLUGINS/src/pictures/player.c13
5 files changed, 19 insertions, 5 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 54c1eafe..88f60ce2 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -2614,6 +2614,7 @@ Eric Valette <eric.valette@free.fr>
Paul Menzel <paulepanter@users.sourceforge.net>
for making include paths not be overwritten in the Makefile
for adding LDFLAGS to the linker calls in the Makefiles
+ for reporting a possible memory leak in the "pictures" plugin
Radek Stastny <dedkus@gmail.com>
for translating OSD texts to the Czech language
diff --git a/HISTORY b/HISTORY
index 2246d570..db7ae384 100644
--- a/HISTORY
+++ b/HISTORY
@@ -6535,3 +6535,5 @@ Video Disk Recorder Revision History
implementation of the AlphaBlend() function.
- Updated the Slovakian language texts (thanks to Milan Hrala).
- Added Serbian language texts (thanks to Milan Cvijanovic).
+- Fixed reallocating memory in the "pictures" plugin (reported by Paul Menzel, with
+ input from Oliver Endriss).
diff --git a/PLUGINS/src/pictures/HISTORY b/PLUGINS/src/pictures/HISTORY
index d90f3c59..57290bc5 100644
--- a/PLUGINS/src/pictures/HISTORY
+++ b/PLUGINS/src/pictures/HISTORY
@@ -41,3 +41,7 @@ VDR Plugin 'pictures' Revision History
2010-02-28: Version 0.0.9
- Added Lithuanian language translations (thanks to Valdemaras Pipiras).
+
+2011-02-20: Version 0.1.0
+
+- Fixed reallocating memory (reported by Paul Menzel).
diff --git a/PLUGINS/src/pictures/pictures.c b/PLUGINS/src/pictures/pictures.c
index 6897e239..8a890b1c 100644
--- a/PLUGINS/src/pictures/pictures.c
+++ b/PLUGINS/src/pictures/pictures.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: pictures.c 2.2 2010/02/28 12:49:55 kls Exp $
+ * $Id: pictures.c 2.3 2011/02/20 16:50:01 kls Exp $
*/
#include <getopt.h>
@@ -11,7 +11,7 @@
#include "menu.h"
#include "player.h"
-static const char *VERSION = "0.0.9";
+static const char *VERSION = "0.1.0";
static const char *DESCRIPTION = trNOOP("A simple picture viewer");
static const char *MAINMENUENTRY = trNOOP("Pictures");
diff --git a/PLUGINS/src/pictures/player.c b/PLUGINS/src/pictures/player.c
index 8981b600..4b289ac9 100644
--- a/PLUGINS/src/pictures/player.c
+++ b/PLUGINS/src/pictures/player.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: player.c 1.3 2008/02/09 12:13:10 kls Exp $
+ * $Id: player.c 2.1 2011/02/20 17:15:25 kls Exp $
*/
#include "player.h"
@@ -66,8 +66,15 @@ void cPicturePlayer::SetPicture(const char *FileName)
length = read(f, buffer, size);
if (length > 0) {
if (length >= size) {
- size = size * 3 / 2;
- buffer = (uchar *)realloc(buffer, size);
+ int NewSize = size * 3 / 2;
+ if (uchar *NewBuffer = (uchar *)realloc(buffer, NewSize)) {
+ buffer = NewBuffer;
+ size = NewSize;
+ }
+ else {
+ LOG_ERROR_STR("out of memory");
+ break;
+ }
lseek(f, 0, SEEK_SET);
continue;
}