From b578a5e6444ee5d04c00387d233ab79ddba691a3 Mon Sep 17 00:00:00 2001 From: Gary Buhrmaster Date: Mon, 27 May 2013 15:15:22 +0000 Subject: [PATCH] Check the return code from setsockopt (in lirc.cpp) Static analysis (coverity) identified that the return code from setsockopt was not checked. This patch checks the return code, with a log message if the setting fails. (cherry picked from commit 0ae45b8598110898f4779f3bdc826e1ce5abb005) Signed-off-by: Stuart Morgan Fixes #11550 --- mythtv/libs/libmythui/lirc.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/mythtv/libs/libmythui/lirc.cpp b/mythtv/libs/libmythui/lirc.cpp index 404a1717534..9af5edfd9d2 100644 --- a/mythtv/libs/libmythui/lirc.cpp +++ b/mythtv/libs/libmythui/lirc.cpp @@ -274,9 +274,21 @@ bool LIRC::Init(void) // Attempt to inline out-of-band messages and keep the connection open.. int i = 1; - setsockopt(lircd_socket, SOL_SOCKET, SO_OOBINLINE, &i, sizeof(i)); + ret = setsockopt(lircd_socket, SOL_SOCKET, SO_OOBINLINE, &i, sizeof(i)); + if (ret < 0) + { + LOG(VB_GENERAL, LOG_WARNING, LOC + + QString("Failed setting OOBINLINE option for socket '%1'") + .arg(lircdDevice) + ENO); + } i = 1; - setsockopt(lircd_socket, SOL_SOCKET, SO_KEEPALIVE, &i, sizeof(i)); + ret = setsockopt(lircd_socket, SOL_SOCKET, SO_KEEPALIVE, &i, sizeof(i)); + if (ret < 0) + { + LOG(VB_GENERAL, LOG_WARNING, LOC + + QString("Failed setting KEEPALIVE option for socket '%1'") + .arg(lircdDevice) + ENO); + } } d->lircState = lirc_init("/etc/lircrc", ".lircrc", "mythtv", NULL, 0);