diff --git a/daemon/src/sip/sip_utils.cpp b/daemon/src/sip/sip_utils.cpp index 650916d40d78a7b4f00e0146feddcf64826ff2eb..e81d38753e9dc9f0c0c32f4ed3acf65fe186c1c0 100644 --- a/daemon/src/sip/sip_utils.cpp +++ b/daemon/src/sip/sip_utils.cpp @@ -211,7 +211,8 @@ sip_utils::getIPList(const std::string &name) //ERROR("sip_utils::getIPList %s", name.c_str()); struct addrinfo *result; - struct addrinfo hints = {}; + struct addrinfo hints; + memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_DGRAM; hints.ai_flags = AI_ADDRCONFIG; diff --git a/daemon/src/video/v4l2/video_v4l2.cpp b/daemon/src/video/v4l2/video_v4l2.cpp index b0daf86fe08fee4305fcd7c3983d19c6b97fe797..3385c6816ec9a60e159b13859cbe306bc875272f 100644 --- a/daemon/src/video/v4l2/video_v4l2.cpp +++ b/daemon/src/video/v4l2/video_v4l2.cpp @@ -34,6 +34,7 @@ #include <vector> #include <climits> #include <stdexcept> +#include <cstring> #include "logger.h" @@ -45,6 +46,8 @@ extern "C" { #include "video_v4l2.h" +#define ZEROVAR(x) memset(&(x), 0, sizeof(x)) + namespace sfl_video { using std::vector; @@ -148,7 +151,8 @@ vector<string> VideoV4l2Size::getRateList() void VideoV4l2Size::getFrameRates(int fd, unsigned int pixel_format) { - v4l2_frmivalenum frmival = {0}; + v4l2_frmivalenum frmival; + ZEROVAR(frmival); frmival.pixel_format = pixel_format; frmival.width = width; frmival.height = height; @@ -213,7 +217,8 @@ vector<string> VideoV4l2Channel::getSizeList() const unsigned int VideoV4l2Channel::getSizes(int fd, unsigned int pixelformat) { - v4l2_frmsizeenum frmsize = {0}; + v4l2_frmsizeenum frmsize; + ZEROVAR(frmsize); frmsize.index = 0; frmsize.pixel_format = pixelformat; if (!ioctl(fd, VIDIOC_ENUM_FRAMESIZES, &frmsize)) { @@ -241,7 +246,8 @@ VideoV4l2Channel::getSizes(int fd, unsigned int pixelformat) } } - v4l2_format fmt = {(v4l2_buf_type) 0}; + v4l2_format fmt; + ZEROVAR(fmt); fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; if (ioctl(fd, VIDIOC_G_FMT, &fmt) < 0) throw std::runtime_error("Could not get format"); @@ -276,7 +282,8 @@ void VideoV4l2Channel::getFormat(int fd) if (ioctl(fd, VIDIOC_S_INPUT, &idx)) throw std::runtime_error("VIDIOC_S_INPUT failed"); - v4l2_fmtdesc fmt = {0}; + v4l2_fmtdesc fmt; + ZEROVAR(fmt); unsigned fmt_index; fmt.index = fmt_index = 0; fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; @@ -333,7 +340,8 @@ VideoV4l2Device::VideoV4l2Device(int fd, const string &device) : name = string(reinterpret_cast<const char*>(cap.card)); - v4l2_input input = {0}; + v4l2_input input; + ZEROVAR(input); unsigned idx; input.index = idx = 0; while (!ioctl(fd, VIDIOC_ENUMINPUT, &input)) {