diff options
-rw-r--r-- | CONTRIBUTORS | 2 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | svdrp.c | 8 |
3 files changed, 8 insertions, 4 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 043c6653..495c2276 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2369,3 +2369,5 @@ Ralf Schueler <dl4mw@schueler.ws> to 1.6.0-3 for backporting "Added some missing 'const' keywords to avoid compilation errors with gcc 4.4" from version 1.7.8 to 1.6.0-3 + for backporting "Modified cSVDRP::CmdGRAB() to avoid writing into const data" + from version 1.7.8 to 1.6.0-3 @@ -5765,3 +5765,5 @@ Video Disk Recorder Revision History (backport from version 1.7.3, thanks to Ralf Schueler). - Added some missing 'const' keywords to avoid compilation errors with gcc 4.4 (backport from version 1.7.8, thanks to Ralf Schueler). +- Modified cSVDRP::CmdGRAB() to avoid writing into const data + (backport from version 1.7.8, thanks to Ralf Schueler). @@ -10,7 +10,7 @@ * and interact with the Video Disk Recorder - or write a full featured * graphical interface that sits on top of an SVDRP connection. * - * $Id: svdrp.c 1.109.1.2 2012/02/14 13:52:35 kls Exp $ + * $Id: svdrp.c 1.109.1.3 2012/02/14 13:55:52 kls Exp $ */ #include "svdrp.h" @@ -803,9 +803,9 @@ void cSVDRP::CmdGRAB(const char *Option) FileName = s; } slash = strrchr(FileName, '/'); // there definitely is one - *slash = 0; - char *r = realpath(FileName, RealFileName); - *slash = '/'; + cString t(s); + t.Truncate(slash - FileName); + char *r = realpath(t, RealFileName); if (!r) { LOG_ERROR_STR(FileName); Reply(501, "Invalid file name \"%s\"", FileName); |