mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Modified cSVDRP::CmdGRAB() to avoid writing into const data
This commit is contained in:
parent
1d03f30e93
commit
abd5a81c89
@ -921,6 +921,7 @@ Ludwig Nussel <ludwig.nussel@web.de>
|
||||
for adding some missing 'const' keywords
|
||||
for pointing out that "%016llX" should be used instead of "%016LX"
|
||||
for adding some missing 'const' keywords to avoid compilation errors with gcc 4.4
|
||||
for reporting that cSVDRP::CmdGRAB() writes into const data
|
||||
|
||||
Thomas Koch <tom@harhar.net>
|
||||
for his support in keeping the Premiere World channels up to date in 'channels.conf'
|
||||
|
2
HISTORY
2
HISTORY
@ -6127,3 +6127,5 @@ Video Disk Recorder Revision History
|
||||
Reinhard Nissl).
|
||||
- Added some missing 'const' keywords to avoid compilation errors with gcc 4.4
|
||||
(thanks to Ville Skyttä and Ludwig Nussel).
|
||||
- Modified cSVDRP::CmdGRAB() to avoid writing into const data (reported by
|
||||
Ludwig Nussel).
|
||||
|
13
svdrp.c
13
svdrp.c
@ -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 2.4 2009/06/06 13:42:52 kls Exp $
|
||||
* $Id: svdrp.c 2.5 2009/06/06 14:03:55 kls Exp $
|
||||
*/
|
||||
|
||||
#include "svdrp.h"
|
||||
@ -798,16 +798,17 @@ void cSVDRP::CmdGRAB(const char *Option)
|
||||
char RealFileName[PATH_MAX];
|
||||
if (FileName) {
|
||||
if (grabImageDir) {
|
||||
cString s;
|
||||
char *slash = strrchr(FileName, '/');
|
||||
cString s(FileName);
|
||||
FileName = s;
|
||||
const char *slash = strrchr(FileName, '/');
|
||||
if (!slash) {
|
||||
s = AddDirectory(grabImageDir, FileName);
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user