diff --git a/SOURCES/xinetd-2.3.15-covscan.patch b/SOURCES/xinetd-2.3.15-covscan.patch
new file mode 100644
index 0000000..6a6a134
--- /dev/null
+++ b/SOURCES/xinetd-2.3.15-covscan.patch
@@ -0,0 +1,49 @@
+diff --git a/xinetd/inet.c b/xinetd/inet.c
+index 1cb2ba2..4e1237e 100644
+--- a/xinetd/inet.c
++++ b/xinetd/inet.c
+@@ -190,7 +190,7 @@ static int get_next_inet_entry( int fd, pset_h sconfs,
+       nvp = nv_find_value( service_types, "RPC" );
+       if ( nvp == NULL )
+       {
+-         parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", name ) ;
++         parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", SC_NAME(scp) ) ;
+          pset_destroy(args);
+          sc_free(scp);
+          return -1;
+@@ -281,7 +281,7 @@ static int get_next_inet_entry( int fd, pset_h sconfs,
+       nvp = nv_find_value( service_types, "INTERNAL" );
+       if ( nvp == NULL )
+       {
+-         parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", name ) ;
++         parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", SC_NAME(scp) ) ;
+          pset_destroy(args);
+          sc_free(scp);
+          return -1;
+@@ -359,7 +359,7 @@ static int get_next_inet_entry( int fd, pset_h sconfs,
+       nvp = nv_find_value( service_flags, "REUSE" );
+       if ( nvp == NULL )
+       {
+-         parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", name ) ;
++         parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", SC_NAME(scp) ) ;
+          pset_destroy(args);
+          sc_free(scp);
+          return -1;
+@@ -370,7 +370,7 @@ static int get_next_inet_entry( int fd, pset_h sconfs,
+       nvp = nv_find_value( service_flags, "NOLIBWRAP" );
+       if ( nvp == NULL )
+       {
+-         parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", name ) ;
++         parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", SC_NAME(scp) ) ;
+          pset_destroy(args);
+          sc_free(scp);
+          return -1;
+@@ -381,7 +381,7 @@ static int get_next_inet_entry( int fd, pset_h sconfs,
+       nvp = nv_find_value( service_flags, "NAMEINARGS" );
+       if ( nvp == NULL )
+       {
+-         parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", name ) ;
++         parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", SC_NAME(scp) ) ;
+          pset_destroy(args);
+          sc_free(scp);
+          return (-1);
diff --git a/SPECS/xinetd.spec b/SPECS/xinetd.spec
index 6132859..ca2a8ca 100644
--- a/SPECS/xinetd.spec
+++ b/SPECS/xinetd.spec
@@ -1,7 +1,7 @@
 Summary: A secure replacement for inetd
 Name: xinetd
 Version: 2.3.15
-Release: 23%{?dist}
+Release: 24%{?dist}
 License: xinetd
 Group: System Environment/Daemons
 Epoch: 2
@@ -59,6 +59,7 @@ Patch28: xinetd-2.3.15-context-exepath.patch
 Patch29: xinetd-2.3.15-creds.patch
 # Fix #1033528 - xinetd segfaults when connecting to tcpmux service
 Patch30: xinetd-2.3.15-tcpmux-nameinargs-disable-service.patch
+Patch31: xinetd-2.3.15-covscan.patch
 
 BuildRequires: autoconf, automake, libtirpc-devel
 BuildRequires: libselinux-devel >= 1.30
@@ -115,6 +116,7 @@ located in the /etc/xinetd.d directory.
 %patch28 -p1 -b .context-exepath
 %patch29 -p1 -b .creds
 %patch30 -p1
+%patch31 -p1
 
 aclocal
 autoconf
@@ -157,6 +159,9 @@ rm -f $RPM_BUILD_ROOT/usr/sbin/xconv.pl
 %{_mandir}/*/*
 
 %changelog
+* Mon Aug  5 2019 Jan Synáček <jsynacek@redhat.com> - 2:2.3.15-24
+- fix covscan (#1607030)
+
 * Tue May 22 2018 Jan Synáček <jsynacek@redhat.com> - 2:2.3.15-23
 - fix compilation, missing rpc headers (#1580970)