be more careful with string manipulations, use strncpy as much as possible
git-svn-id: https://svn.musicpd.org/mpd/trunk@56 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
parent
ca3068d411
commit
e4f265b2fc
|
@ -108,14 +108,14 @@ int waitOnDecode(PlayerControl * pc, AudioFormat * af, DecoderControl * dc,
|
||||||
while(decode_pid>0 && dc->start) usleep(10);
|
while(decode_pid>0 && dc->start) usleep(10);
|
||||||
|
|
||||||
if(dc->start || dc->error!=DECODE_ERROR_NOERROR) {
|
if(dc->start || dc->error!=DECODE_ERROR_NOERROR) {
|
||||||
strcpy(pc->erroredFile,pc->file);
|
strncpy(pc->erroredFile,pc->file,MAXPATHLEN);
|
||||||
pc->error = PLAYER_ERROR_FILE;
|
pc->error = PLAYER_ERROR_FILE;
|
||||||
quitDecode(pc,dc);
|
quitDecode(pc,dc);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(initAudio(af)<0) {
|
if(initAudio(af)<0) {
|
||||||
strcpy(pc->erroredFile,pc->file);
|
strncpy(pc->erroredFile,pc->file,MAXPATHLEN);
|
||||||
pc->error = PLAYER_ERROR_AUDIO;
|
pc->error = PLAYER_ERROR_AUDIO;
|
||||||
quitDecode(pc,dc);
|
quitDecode(pc,dc);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -196,7 +196,7 @@ int decoderInit(PlayerControl * pc, Buffer * cb, AudioFormat *af,
|
||||||
|
|
||||||
while(1) {
|
while(1) {
|
||||||
if(dc->start) {
|
if(dc->start) {
|
||||||
strcpy(dc->file,pc->file);
|
strncpy(dc->file,pc->file,MAXPATHLEN);
|
||||||
switch(pc->decodeType) {
|
switch(pc->decodeType) {
|
||||||
#ifdef HAVE_MAD
|
#ifdef HAVE_MAD
|
||||||
case DECODE_TYPE_MP3:
|
case DECODE_TYPE_MP3:
|
||||||
|
@ -239,7 +239,7 @@ int decoderInit(PlayerControl * pc, Buffer * cb, AudioFormat *af,
|
||||||
/* END OF CHILD */
|
/* END OF CHILD */
|
||||||
}
|
}
|
||||||
else if(decode_pid<0) {
|
else if(decode_pid<0) {
|
||||||
strcpy(pc->erroredFile,pc->file);
|
strncpy(pc->erroredFile,pc->file,MAXPATHLEN);
|
||||||
pc->error = PLAYER_ERROR_SYSTEM;
|
pc->error = PLAYER_ERROR_SYSTEM;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,7 +140,7 @@ int playerPlay(FILE * fp, char * utf8file) {
|
||||||
{
|
{
|
||||||
struct stat st;
|
struct stat st;
|
||||||
if(stat(rmp2amp(utf8ToFsCharset(utf8file)),&st)<0) {
|
if(stat(rmp2amp(utf8ToFsCharset(utf8file)),&st)<0) {
|
||||||
strcpy(pc->erroredFile,pc->file);
|
strncpy(pc->erroredFile,pc->file,MAXPATHLEN);
|
||||||
pc->error = PLAYER_ERROR_FILENOTFOUND;
|
pc->error = PLAYER_ERROR_FILENOTFOUND;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -160,7 +160,7 @@ int playerPlay(FILE * fp, char * utf8file) {
|
||||||
else if(isWave(utf8file)) pc->decodeType = DECODE_TYPE_AUDIOFILE;
|
else if(isWave(utf8file)) pc->decodeType = DECODE_TYPE_AUDIOFILE;
|
||||||
#endif
|
#endif
|
||||||
else {
|
else {
|
||||||
strcpy(pc->erroredFile,pc->file);
|
strncpy(pc->erroredFile,pc->file,MAXPATHLEN);
|
||||||
pc->error = PLAYER_ERROR_UNKTYPE;
|
pc->error = PLAYER_ERROR_UNKTYPE;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include <sys/shm.h>
|
#include <sys/shm.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
int buffered_before_play;
|
int buffered_before_play;
|
||||||
int BUFFERED_CHUNKS;
|
int BUFFERED_CHUNKS;
|
||||||
|
@ -102,7 +103,7 @@ void initPlayerData() {
|
||||||
playerData_pd->playerControl.queueState = PLAYER_QUEUE_BLANK;
|
playerData_pd->playerControl.queueState = PLAYER_QUEUE_BLANK;
|
||||||
playerData_pd->playerControl.queueLockState = PLAYER_QUEUE_UNLOCKED;
|
playerData_pd->playerControl.queueLockState = PLAYER_QUEUE_UNLOCKED;
|
||||||
playerData_pd->playerControl.seek = 0;
|
playerData_pd->playerControl.seek = 0;
|
||||||
playerData_pd->playerControl.file[0] = '\0';
|
memset(playerData_pd->playerControl.file,0,MAXPATHLEN);
|
||||||
playerData_pd->playerControl.crossFade = crossfade;
|
playerData_pd->playerControl.crossFade = crossfade;
|
||||||
playerData_pd->playerControl.softwareVolume = 100;
|
playerData_pd->playerControl.softwareVolume = 100;
|
||||||
playerData_pd->playerControl.totalPlayTime = 0;
|
playerData_pd->playerControl.totalPlayTime = 0;
|
||||||
|
@ -112,7 +113,7 @@ void initPlayerData() {
|
||||||
playerData_pd->decoderControl.state = DECODE_STATE_STOP;
|
playerData_pd->decoderControl.state = DECODE_STATE_STOP;
|
||||||
playerData_pd->decoderControl.seek = 0;
|
playerData_pd->decoderControl.seek = 0;
|
||||||
playerData_pd->decoderControl.error = DECODE_ERROR_NOERROR;
|
playerData_pd->decoderControl.error = DECODE_ERROR_NOERROR;
|
||||||
playerData_pd->decoderControl.file[0] = '\0';
|
memset(playerData_pd->decoderControl.file,0,MAXPATHLEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
PlayerData * getPlayerData() {
|
PlayerData * getPlayerData() {
|
||||||
|
|
Loading…
Reference in New Issue