From f796163ef09b7317931d89e94b97d59cd07eec8a Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Sun, 9 Jun 2013 18:33:50 +0100 Subject: [PATCH] AudioOutputOSS: Fix Coverity 700224, 700225. Unchecked return value (of ioctl) --- mythtv/libs/libmyth/audio/audiooutputbase.h | 1 + mythtv/libs/libmyth/audio/audiooutputoss.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mythtv/libs/libmyth/audio/audiooutputbase.h b/mythtv/libs/libmyth/audio/audiooutputbase.h index 22a2851ba08..2b1227645a1 100644 --- a/mythtv/libs/libmyth/audio/audiooutputbase.h +++ b/mythtv/libs/libmyth/audio/audiooutputbase.h @@ -25,6 +25,7 @@ using namespace std; #define VBERROR(str) LOG(VB_GENERAL, LOG_ERR, LOC + str) #define VBWARN(str) LOG(VB_GENERAL, LOG_WARNING, LOC + str) #define VBERRENO(str) Error(LOC + str + ": " + ENO) +#define VBERRNOCONST(str) LOG(VB_GENERAL, LOG_ERR, LOC + str + ": " + ENO) namespace soundtouch { class SoundTouch; diff --git a/mythtv/libs/libmyth/audio/audiooutputoss.cpp b/mythtv/libs/libmyth/audio/audiooutputoss.cpp index e1398355090..b6fb0e1b532 100644 --- a/mythtv/libs/libmyth/audio/audiooutputoss.cpp +++ b/mythtv/libs/libmyth/audio/audiooutputoss.cpp @@ -202,7 +202,8 @@ bool AudioOutputOSS::OpenDevice() } audio_buf_info info; - ioctl(audiofd, SNDCTL_DSP_GETOSPACE, &info); + if (ioctl(audiofd, SNDCTL_DSP_GETOSPACE, &info) < 0) + VBERRENO("Error retrieving card buffer size"); // align by frame size fragment_size = info.fragsize - (info.fragsize % output_bytes_per_frame); @@ -269,7 +270,8 @@ int AudioOutputOSS::GetBufferedOnSoundcard(void) const int soundcard_buffer=0; //GREG This is needs to be fixed for sure! #ifdef SNDCTL_DSP_GETODELAY - ioctl(audiofd, SNDCTL_DSP_GETODELAY, &soundcard_buffer); // bytes + if(ioctl(audiofd, SNDCTL_DSP_GETODELAY, &soundcard_buffer) < 0) // bytes + VBERRNOCONST("Error retrieving buffering delay"); #endif return soundcard_buffer; }