Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libupnp for openSUSE:Factory checked 
in at 2023-03-31 21:15:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libupnp (Old)
 and      /work/SRC/openSUSE:Factory/.libupnp.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libupnp"

Fri Mar 31 21:15:10 2023 rev:33 rq:1075563 version:1.14.16

Changes:
--------
--- /work/SRC/openSUSE:Factory/libupnp/libupnp.changes  2022-11-20 
19:46:55.433206569 +0100
+++ /work/SRC/openSUSE:Factory/.libupnp.new.31432/libupnp.changes       
2023-03-31 21:15:11.702301675 +0200
@@ -1,0 +2,6 @@
+Thu Mar 30 13:29:07 UTC 2023 - Jan Engelhardt <jeng...@inai.de>
+
+- Update to release 1.14.16
+  * Fix memory leak and ActionExAsync
+
+-------------------------------------------------------------------

Old:
----
  libupnp-1.14.15.tar.bz2

New:
----
  libupnp-1.14.16.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libupnp.spec ++++++
--- /var/tmp/diff_new_pack.wztr8U/_old  2023-03-31 21:15:12.210303486 +0200
+++ /var/tmp/diff_new_pack.wztr8U/_new  2023-03-31 21:15:12.218303515 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package libupnp
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 # Copyright (c) 2011, Sascha Peilicke <sasc...@gmx.de>
 #
 # All modifications and additions to the file contributed by third parties
@@ -20,7 +20,7 @@
 %define pnpver 17
 %define ixmlver 11
 Name:           libupnp
-Version:        1.14.15
+Version:        1.14.16
 Release:        0
 Summary:        An implementation of Universal Plug and Play (UPnP)
 License:        BSD-3-Clause

++++++ libupnp-1.14.15.tar.bz2 -> libupnp-1.14.16.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/ChangeLog 
new/libupnp-1.14.16/ChangeLog
--- old/libupnp-1.14.15/ChangeLog       2022-11-19 03:18:45.000000000 +0100
+++ new/libupnp-1.14.16/ChangeLog       2023-03-30 14:55:23.000000000 +0200
@@ -9,6 +9,63 @@
         Aborted.
 
 *******************************************************************************
+Version 1.14.16
+*******************************************************************************
+
+2023-03-19 philippe44 <philipp...@users.noreply.github.com>
+
+        Fix memory leak and ActionExAsync (#426)
+
+        This intends to fix #424. I've found at least 2 memory leaks
+
+        1- When sending Action(Ex)Async
+        The ActionRequest document was not released nor was the ActionResult.
+        I initially tought that this should be done in
+        UpnpActionComplete::UpnpActionComplete_delete() but I was wrong because
+        ActionRequest and ActionResult do not "belong" to the Evt object.
+        The sets methods only set a pointer and modifying generator.c is not 
the
+        right solution. The reason is that ActionRequest "belongs" to the 
ACTION
+        job and should be handled as such if we want as well that, when the job
+        is cancelled, the memory is released as well. So I've change the
+        free_func for ACTION to reflect that.
+
+        2- When using event subscription
+        The Event was not released upon Timer termination. So I've done as
+        above, created a special free_func that handles that properly.
+
+        In general, when something prevents the execution/submission of a job,
+        I've also used the actual free function instead of duplicating the
+        individual free(). Note that when terminating a timer, I'm using the
+        job's internal structure free_func() as it was already used to access
+        arg. One can argue that it should be an opaque structure and get/set or
+        the option to call the free function could be use instead.
+
+        Also, I realized that ActionExAsync has never been working properly
+        because when the job is executed, only an Action is made, never an
+        ActionEx although the Header document is in the job's argument. I've
+        fixed that as well and stopped there to not go too deep in that rabbit
+        hole.
+
+        I've also removed the upnp_timeout.c/h files as they were not used
+        anymore (and had a strange names anyway)
+
+2023-01-04 Thoren Paulson <thoren.paul...@gmail.com>
+
+        Handle redundant initialization
+
+2022-12-22 Thoren Paulson <thoren.paul...@gmail.com>
+
+        Clean up after failed initialization.
+
+        Some initialization failures (such as failure in UpnpGetIfInfo) would
+        leave resources like thread pools initialized. This change ensures if
+        UpnpInit2 fails, we call UpnpFinish before returning to clean up those
+        resources.
+
+        To ensure UpnpFinish is effective in this way, we set UpnpSdkInit to 1
+        earlier in UpnpInit2.
+
+*******************************************************************************
 Version 1.14.15
 *******************************************************************************
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/Makefile.in 
new/libupnp-1.14.16/Makefile.in
--- old/libupnp-1.14.15/Makefile.in     2022-11-19 03:24:18.000000000 +0100
+++ new/libupnp-1.14.16/Makefile.in     2023-03-30 14:57:59.000000000 +0200
@@ -210,7 +210,7 @@
        $(top_srcdir)/upnp/inc/upnpconfig.h.in \
        $(top_srcdir)/upnp/sample/common/config_sample.h.in COPYING \
        ChangeLog README.md THANKS build-aux/ar-lib build-aux/compile \
-       build-aux/config.guess build-aux/config.sub build-aux/depcomp \
+       build-aux/config.guess build-aux/config.sub \
        build-aux/install-sh build-aux/ltmain.sh build-aux/missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/README.md 
new/libupnp-1.14.16/README.md
--- old/libupnp-1.14.15/README.md       2022-11-19 03:21:29.000000000 +0100
+++ new/libupnp-1.14.16/README.md       2023-03-30 14:55:23.000000000 +0200
@@ -102,7 +102,8 @@
 | -------------- | ---------- | ---------------------------------------- |
 | 1.18.0         | TBA ?      | [Portable UPnP SDK][Portable UPnP SDK]   |
 | 1.16.0         | aborted    | [Portable UPnP SDK][Portable UPnP SDK]   |
-| 1.14.16        | TBA        | [Portable UPnP SDK][Portable UPnP SDK]   |
+| 1.14.17        | TBA        | [Portable UPnP SDK][Portable UPnP SDK]   |
+| 1.14.16        | 2023-03-30 | [Portable UPnP SDK][Portable UPnP SDK]   |
 | 1.14.15        | 2022-11-18 | [Portable UPnP SDK][Portable UPnP SDK]   |
 | 1.14.14        | 2022-10-05 | [Portable UPnP SDK][Portable UPnP SDK]   |
 | 1.14.13        | 2022-08-03 | [Portable UPnP SDK][Portable UPnP SDK]   |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/THANKS new/libupnp-1.14.16/THANKS
--- old/libupnp-1.14.15/THANKS  2022-10-05 19:49:53.000000000 +0200
+++ new/libupnp-1.14.16/THANKS  2023-03-30 14:55:23.000000000 +0200
@@ -57,7 +57,7 @@
 - Leuk_He
 - Loigu
 - Luke Kim (nereusuj)
-- Marcelo Roberto Jimenez (mroberto)
+- Marcelo Roberto Jimenez (mroberto, mrjimenez at github)
 - Markus Strobl
 - Marvin Scholz (ePirat at Github)
 - Matthew Garrett (mjg59)
@@ -72,7 +72,7 @@
 - Peng
 - Peter Hartley
 - Peter Pramberger (peterpramb)
-- Philippe (philippe44ca)
+- Philippe (philippe44 at github)
 - Philipp Matthias Hahn
 - Pino Toscano (pinotree)
 - Rene Hexel
@@ -89,11 +89,12 @@
 - Siva Chandran
 - Stefan Sommerfeld (zerocom)
 - Stéphane Corthésy
-- Stephen Anthony Jones (frobones at gmail.com)
+- Stephen Anthony Jones (frobones at gmail dot com)
 - Stephen Bash (scbash at Github)
 - Steve Bresson
 - Thijs Schreijer
 - Thomas Mitterfellner (lineinthesand at Github)
+- Thoren Paulson (Thoren dot Paulson at gmail dot com, thoren-d at github)
 - Timothy Redaelli
 - Titus Winters
 - Tom (tomdev2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/configure 
new/libupnp-1.14.16/configure
--- old/libupnp-1.14.15/configure       2022-11-19 03:24:19.000000000 +0100
+++ new/libupnp-1.14.16/configure       2023-03-30 14:57:58.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for libupnp 1.14.15.
+# Generated by GNU Autoconf 2.71 for libupnp 1.14.16.
 #
 # Report bugs to <mrobe...@users.sourceforge.net>.
 #
@@ -621,8 +621,8 @@
 # Identity of this package.
 PACKAGE_NAME='libupnp'
 PACKAGE_TARNAME='libupnp'
-PACKAGE_VERSION='1.14.15'
-PACKAGE_STRING='libupnp 1.14.15'
+PACKAGE_VERSION='1.14.16'
+PACKAGE_STRING='libupnp 1.14.16'
 PACKAGE_BUGREPORT='mrobe...@users.sourceforge.net'
 PACKAGE_URL=''
 
@@ -1434,7 +1434,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libupnp 1.14.15 to adapt to many kinds of systems.
+\`configure' configures libupnp 1.14.16 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1505,7 +1505,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libupnp 1.14.15:";;
+     short | recursive ) echo "Configuration of libupnp 1.14.16:";;
    esac
   cat <<\_ACEOF
 
@@ -1652,7 +1652,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libupnp configure 1.14.15
+libupnp configure 1.14.16
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2008,7 +2008,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libupnp $as_me 1.14.15, which was
+It was created by libupnp $as_me 1.14.16, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -2766,7 +2766,7 @@
 
 LT_VERSION_IXML=12:2:1
 
-LT_VERSION_UPNP=18:6:1
+LT_VERSION_UPNP=18:7:1
 
 
 
@@ -3288,7 +3288,7 @@
 
 # Define the identity of the package.
  PACKAGE='libupnp'
- VERSION='1.14.15'
+ VERSION='1.14.16'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -17722,7 +17722,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libupnp $as_me 1.14.15, which was
+This file was extended by libupnp $as_me 1.14.16, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -17790,7 +17790,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-libupnp config.status 1.14.15
+libupnp config.status 1.14.16
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/configure.ac 
new/libupnp-1.14.16/configure.ac
--- old/libupnp-1.14.15/configure.ac    2022-11-19 03:24:08.000000000 +0100
+++ new/libupnp-1.14.16/configure.ac    2022-11-19 03:28:44.000000000 +0100
@@ -9,7 +9,7 @@
 
 AC_PREREQ(2.60)
 
-AC_INIT([libupnp], [1.14.15], [mrobe...@users.sourceforge.net])
+AC_INIT([libupnp], [1.14.16], [mrobe...@users.sourceforge.net])
 dnl 
############################################################################
 dnl # *Independently* of the above libupnp package version, the libtool version
 dnl # of the 3 libraries need to be updated whenever there is a change 
released:
@@ -209,8 +209,18 @@
 dnl #AC_SUBST([LT_VERSION_UPNP],       [18:6:1])
 dnl #
 dnl 
############################################################################
+dnl # Release 1.14.16
+dnl # "current:revision:age"
+dnl #
+dnl # - Code has changed in upnp
+dnl #   revision: 6 -> 7
+dnl #
+dnl #AC_SUBST([LT_VERSION_IXML],       [12:2:1])
+dnl #AC_SUBST([LT_VERSION_UPNP],       [18:7:1])
+dnl #
+dnl 
############################################################################
 AC_SUBST([LT_VERSION_IXML],       [12:2:1])
-AC_SUBST([LT_VERSION_UPNP],       [18:6:1])
+AC_SUBST([LT_VERSION_UPNP],       [18:7:1])
 dnl 
############################################################################
 dnl # Repeating the algorithm to place it closer to the modificatin place:
 dnl #  - library code modified:                revision++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/docs/Doxyfile 
new/libupnp-1.14.16/docs/Doxyfile
--- old/libupnp-1.14.15/docs/Doxyfile   2022-10-05 19:49:53.000000000 +0200
+++ new/libupnp-1.14.16/docs/Doxyfile   2022-11-19 03:29:29.000000000 +0100
@@ -38,7 +38,7 @@
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = 1.14.15
+PROJECT_NUMBER         = 1.14.16
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/libupnp.spec 
new/libupnp-1.14.16/libupnp.spec
--- old/libupnp-1.14.15/libupnp.spec    2022-10-05 19:49:53.000000000 +0200
+++ new/libupnp-1.14.16/libupnp.spec    2022-11-19 03:29:49.000000000 +0100
@@ -1,4 +1,4 @@
-Version: 1.14.15
+Version: 1.14.16
 Summary: Universal Plug and Play (UPnP) SDK
 Name: libupnp-1.14
 Release: 1%{?dist}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/upnp/CMakeLists.txt 
new/libupnp-1.14.16/upnp/CMakeLists.txt
--- old/libupnp-1.14.15/upnp/CMakeLists.txt     2022-08-03 16:14:24.000000000 
+0200
+++ new/libupnp-1.14.16/upnp/CMakeLists.txt     2023-03-20 02:24:51.000000000 
+0100
@@ -35,7 +35,6 @@
        src/genlib/util/list.c
        src/genlib/util/membuffer.c
        src/genlib/util/strintmap.c
-       src/genlib/util/upnp_timeout.c
        src/genlib/util/util.c
        src/threadutil/FreeList.c
        src/threadutil/LinkedList.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/upnp/Makefile.am 
new/libupnp-1.14.16/upnp/Makefile.am
--- old/libupnp-1.14.15/upnp/Makefile.am        2022-08-03 16:14:24.000000000 
+0200
+++ new/libupnp-1.14.16/upnp/Makefile.am        2023-03-20 02:24:51.000000000 
+0100
@@ -83,7 +83,6 @@
        src/inc/sysdep.h \
        src/inc/unixutil.h \
        src/inc/upnpapi.h \
-       src/inc/upnp_timeout.h \
        src/inc/uri.h \
        src/inc/urlconfig.h \
        src/inc/upnputil.h \
@@ -134,7 +133,6 @@
        src/genlib/service_table/service_table.c \
        src/genlib/util/membuffer.c \
        src/genlib/util/strintmap.c \
-       src/genlib/util/upnp_timeout.c \
        src/genlib/util/util.c \
        src/genlib/util/list.c \
        src/genlib/net/sock.c \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/upnp/Makefile.in 
new/libupnp-1.14.16/upnp/Makefile.in
--- old/libupnp-1.14.15/upnp/Makefile.in        2022-11-19 03:24:19.000000000 
+0100
+++ new/libupnp-1.14.16/upnp/Makefile.in        2023-03-30 14:57:59.000000000 
+0200
@@ -206,14 +206,14 @@
        src/inc/service_table.h src/inc/soaplib.h src/inc/sock.h \
        src/inc/statcodes.h src/inc/strintmap.h src/inc/ssdplib.h \
        src/inc/sysdep.h src/inc/unixutil.h src/inc/upnpapi.h \
-       src/inc/upnp_timeout.h src/inc/uri.h src/inc/urlconfig.h \
-       src/inc/upnputil.h src/inc/uuid.h src/inc/VirtualDir.h \
-       src/inc/webserver.h src/threadutil/FreeList.h \
-       src/threadutil/FreeList.c src/threadutil/LinkedList.h \
-       src/threadutil/LinkedList.c src/threadutil/ThreadPool.h \
-       src/threadutil/ThreadPool.c src/threadutil/TimerThread.h \
-       src/threadutil/TimerThread.c src/ssdp/SSDPResultData.c \
-       src/ssdp/SSDPResultData.h src/ssdp/SSDPResultDataCallback.c \
+       src/inc/uri.h src/inc/urlconfig.h src/inc/upnputil.h \
+       src/inc/uuid.h src/inc/VirtualDir.h src/inc/webserver.h \
+       src/threadutil/FreeList.h src/threadutil/FreeList.c \
+       src/threadutil/LinkedList.h src/threadutil/LinkedList.c \
+       src/threadutil/ThreadPool.h src/threadutil/ThreadPool.c \
+       src/threadutil/TimerThread.h src/threadutil/TimerThread.c \
+       src/ssdp/SSDPResultData.c src/ssdp/SSDPResultData.h \
+       src/ssdp/SSDPResultDataCallback.c \
        src/ssdp/SSDPResultDataCallback.h src/ssdp/ssdp_device.c \
        src/ssdp/ssdp_ctrlpt.c src/ssdp/ssdp_server.c \
        src/soap/soap_device.c src/soap/soap_ctrlpt.c \
@@ -222,9 +222,8 @@
        src/genlib/client_table/GenlibClientSubscription.c \
        src/genlib/service_table/service_table.c \
        src/genlib/util/membuffer.c src/genlib/util/strintmap.c \
-       src/genlib/util/upnp_timeout.c src/genlib/util/util.c \
-       src/genlib/util/list.c src/genlib/net/sock.c \
-       src/genlib/net/http/httpparser.c \
+       src/genlib/util/util.c src/genlib/util/list.c \
+       src/genlib/net/sock.c src/genlib/net/http/httpparser.c \
        src/genlib/net/http/httpreadwrite.c \
        src/genlib/net/http/statcodes.c \
        src/genlib/net/http/webserver.c \
@@ -268,7 +267,6 @@
        src/genlib/service_table/libupnp_la-service_table.lo \
        src/genlib/util/libupnp_la-membuffer.lo \
        src/genlib/util/libupnp_la-strintmap.lo \
-       src/genlib/util/libupnp_la-upnp_timeout.lo \
        src/genlib/util/libupnp_la-util.lo \
        src/genlib/util/libupnp_la-list.lo \
        src/genlib/net/libupnp_la-sock.lo \
@@ -363,7 +361,6 @@
        src/genlib/util/$(DEPDIR)/libupnp_la-list.Plo \
        src/genlib/util/$(DEPDIR)/libupnp_la-membuffer.Plo \
        src/genlib/util/$(DEPDIR)/libupnp_la-strintmap.Plo \
-       src/genlib/util/$(DEPDIR)/libupnp_la-upnp_timeout.Plo \
        src/genlib/util/$(DEPDIR)/libupnp_la-util.Plo \
        src/soap/$(DEPDIR)/libupnp_la-soap_common.Plo \
        src/soap/$(DEPDIR)/libupnp_la-soap_ctrlpt.Plo \
@@ -831,21 +828,20 @@
        src/inc/service_table.h src/inc/soaplib.h src/inc/sock.h \
        src/inc/statcodes.h src/inc/strintmap.h src/inc/ssdplib.h \
        src/inc/sysdep.h src/inc/unixutil.h src/inc/upnpapi.h \
-       src/inc/upnp_timeout.h src/inc/uri.h src/inc/urlconfig.h \
-       src/inc/upnputil.h src/inc/uuid.h src/inc/VirtualDir.h \
-       src/inc/webserver.h src/threadutil/FreeList.h \
-       src/threadutil/FreeList.c src/threadutil/LinkedList.h \
-       src/threadutil/LinkedList.c src/threadutil/ThreadPool.h \
-       src/threadutil/ThreadPool.c src/threadutil/TimerThread.h \
-       src/threadutil/TimerThread.c $(am__append_3) $(am__append_4) \
+       src/inc/uri.h src/inc/urlconfig.h src/inc/upnputil.h \
+       src/inc/uuid.h src/inc/VirtualDir.h src/inc/webserver.h \
+       src/threadutil/FreeList.h src/threadutil/FreeList.c \
+       src/threadutil/LinkedList.h src/threadutil/LinkedList.c \
+       src/threadutil/ThreadPool.h src/threadutil/ThreadPool.c \
+       src/threadutil/TimerThread.h src/threadutil/TimerThread.c \
+       $(am__append_3) $(am__append_4) \
        src/genlib/miniserver/miniserver.c \
        src/genlib/client_table/client_table.c \
        src/genlib/client_table/GenlibClientSubscription.c \
        src/genlib/service_table/service_table.c \
        src/genlib/util/membuffer.c src/genlib/util/strintmap.c \
-       src/genlib/util/upnp_timeout.c src/genlib/util/util.c \
-       src/genlib/util/list.c src/genlib/net/sock.c \
-       src/genlib/net/http/httpparser.c \
+       src/genlib/util/util.c src/genlib/util/list.c \
+       src/genlib/net/sock.c src/genlib/net/http/httpparser.c \
        src/genlib/net/http/httpreadwrite.c \
        src/genlib/net/http/statcodes.c \
        src/genlib/net/http/webserver.c \
@@ -1031,9 +1027,6 @@
 src/genlib/util/libupnp_la-strintmap.lo:  \
        src/genlib/util/$(am__dirstamp) \
        src/genlib/util/$(DEPDIR)/$(am__dirstamp)
-src/genlib/util/libupnp_la-upnp_timeout.lo:  \
-       src/genlib/util/$(am__dirstamp) \
-       src/genlib/util/$(DEPDIR)/$(am__dirstamp)
 src/genlib/util/libupnp_la-util.lo: src/genlib/util/$(am__dirstamp) \
        src/genlib/util/$(DEPDIR)/$(am__dirstamp)
 src/genlib/util/libupnp_la-list.lo: src/genlib/util/$(am__dirstamp) \
@@ -1253,7 +1246,6 @@
 @AMDEP_TRUE@@am__include@ 
@am__quote@src/genlib/util/$(DEPDIR)/libupnp_la-list.Plo@am__quote@ # 
am--include-marker
 @AMDEP_TRUE@@am__include@ 
@am__quote@src/genlib/util/$(DEPDIR)/libupnp_la-membuffer.Plo@am__quote@ # 
am--include-marker
 @AMDEP_TRUE@@am__include@ 
@am__quote@src/genlib/util/$(DEPDIR)/libupnp_la-strintmap.Plo@am__quote@ # 
am--include-marker
-@AMDEP_TRUE@@am__include@ 
@am__quote@src/genlib/util/$(DEPDIR)/libupnp_la-upnp_timeout.Plo@am__quote@ # 
am--include-marker
 @AMDEP_TRUE@@am__include@ 
@am__quote@src/genlib/util/$(DEPDIR)/libupnp_la-util.Plo@am__quote@ # 
am--include-marker
 @AMDEP_TRUE@@am__include@ 
@am__quote@src/soap/$(DEPDIR)/libupnp_la-soap_common.Plo@am__quote@ # 
am--include-marker
 @AMDEP_TRUE@@am__include@ 
@am__quote@src/soap/$(DEPDIR)/libupnp_la-soap_ctrlpt.Plo@am__quote@ # 
am--include-marker
@@ -1432,13 +1424,6 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) 
$(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC 
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) 
$(DEFAULT_INCLUDES) $(INCLUDES) $(libupnp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) 
$(CFLAGS) -c -o src/genlib/util/libupnp_la-strintmap.lo `test -f 
'src/genlib/util/strintmap.c' || echo '$(srcdir)/'`src/genlib/util/strintmap.c
 
-src/genlib/util/libupnp_la-upnp_timeout.lo: src/genlib/util/upnp_timeout.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC 
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) 
$(DEFAULT_INCLUDES) $(INCLUDES) $(libupnp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) 
$(CFLAGS) -MT src/genlib/util/libupnp_la-upnp_timeout.lo -MD -MP -MF 
src/genlib/util/$(DEPDIR)/libupnp_la-upnp_timeout.Tpo -c -o 
src/genlib/util/libupnp_la-upnp_timeout.lo `test -f 
'src/genlib/util/upnp_timeout.c' || echo 
'$(srcdir)/'`src/genlib/util/upnp_timeout.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) 
src/genlib/util/$(DEPDIR)/libupnp_la-upnp_timeout.Tpo 
src/genlib/util/$(DEPDIR)/libupnp_la-upnp_timeout.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      
$(AM_V_CC)source='src/genlib/util/upnp_timeout.c' 
object='src/genlib/util/libupnp_la-upnp_timeout.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) 
$(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC 
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) 
$(DEFAULT_INCLUDES) $(INCLUDES) $(libupnp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) 
$(CFLAGS) -c -o src/genlib/util/libupnp_la-upnp_timeout.lo `test -f 
'src/genlib/util/upnp_timeout.c' || echo 
'$(srcdir)/'`src/genlib/util/upnp_timeout.c
-
 src/genlib/util/libupnp_la-util.lo: src/genlib/util/util.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC 
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) 
$(DEFAULT_INCLUDES) $(INCLUDES) $(libupnp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) 
$(CFLAGS) -MT src/genlib/util/libupnp_la-util.lo -MD -MP -MF 
src/genlib/util/$(DEPDIR)/libupnp_la-util.Tpo -c -o 
src/genlib/util/libupnp_la-util.lo `test -f 'src/genlib/util/util.c' || echo 
'$(srcdir)/'`src/genlib/util/util.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) 
src/genlib/util/$(DEPDIR)/libupnp_la-util.Tpo 
src/genlib/util/$(DEPDIR)/libupnp_la-util.Plo
@@ -2175,7 +2160,6 @@
        -rm -f src/genlib/util/$(DEPDIR)/libupnp_la-list.Plo
        -rm -f src/genlib/util/$(DEPDIR)/libupnp_la-membuffer.Plo
        -rm -f src/genlib/util/$(DEPDIR)/libupnp_la-strintmap.Plo
-       -rm -f src/genlib/util/$(DEPDIR)/libupnp_la-upnp_timeout.Plo
        -rm -f src/genlib/util/$(DEPDIR)/libupnp_la-util.Plo
        -rm -f src/soap/$(DEPDIR)/libupnp_la-soap_common.Plo
        -rm -f src/soap/$(DEPDIR)/libupnp_la-soap_ctrlpt.Plo
@@ -2275,7 +2259,6 @@
        -rm -f src/genlib/util/$(DEPDIR)/libupnp_la-list.Plo
        -rm -f src/genlib/util/$(DEPDIR)/libupnp_la-membuffer.Plo
        -rm -f src/genlib/util/$(DEPDIR)/libupnp_la-strintmap.Plo
-       -rm -f src/genlib/util/$(DEPDIR)/libupnp_la-upnp_timeout.Plo
        -rm -f src/genlib/util/$(DEPDIR)/libupnp_la-util.Plo
        -rm -f src/soap/$(DEPDIR)/libupnp_la-soap_common.Plo
        -rm -f src/soap/$(DEPDIR)/libupnp_la-soap_ctrlpt.Plo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/upnp/src/api/upnpapi.c 
new/libupnp-1.14.16/upnp/src/api/upnpapi.c
--- old/libupnp-1.14.15/upnp/src/api/upnpapi.c  2022-08-03 16:14:24.000000000 
+0200
+++ new/libupnp-1.14.16/upnp/src/api/upnpapi.c  2023-03-20 02:25:07.000000000 
+0100
@@ -239,6 +239,42 @@
 SSL_CTX *gSslCtx = NULL;
 #endif
 
+typedef union
+{
+       struct
+       {
+               int handle;
+               int eventId;
+               void *Event;
+       } advertise;
+       struct UpnpNonblockParam action;
+} job_arg;
+
+/*!
+ * \brief Free memory associated with advertise job's argument
+ */
+static void free_advertise_arg(job_arg *arg)
+{
+       if (arg->advertise.Event) {
+               free(arg->advertise.Event);
+       }
+       free(arg);
+}
+
+/*!
+ * \brief Free memory associated with an action job's argument
+ */
+static void free_action_arg(job_arg *arg)
+{
+       if (arg->action.Header) {
+               ixmlDocument_free(arg->action.Header);
+       }
+       if (arg->action.Act) {
+               ixmlDocument_free(arg->action.Act);
+       }
+       free(arg);
+}
+
 /*!
  * \brief (Windows Only) Initializes the Windows Winsock library.
  *
@@ -511,6 +547,10 @@
                goto exit_function;
        }
 
+       /* Set the UpnpSdkInit flag to 1 to indicate we're successfully
+        * initialized. */
+       UpnpSdkInit = 1;
+
        /* Perform initialization preamble. */
        retVal = UpnpInitPreamble();
        if (retVal != UPNP_E_SUCCESS) {
@@ -531,18 +571,16 @@
                goto exit_function;
        }
 
-       /* Set the UpnpSdkInit flag to 1 to indicate we're successfully
-        * initialized. */
-       UpnpSdkInit = 1;
-
        /* Finish initializing the SDK. */
        retVal = UpnpInitStartServers(DestPort);
        if (retVal != UPNP_E_SUCCESS) {
-               UpnpSdkInit = 0;
                goto exit_function;
        }
 
 exit_function:
+       if (retVal != UPNP_E_SUCCESS && retVal != UPNP_E_INIT) {
+               UpnpFinish();
+       }
        ithread_mutex_unlock(&gSDKInitMutex);
 
        return retVal;
@@ -1892,7 +1930,7 @@
 {
        struct Handle_Info *SInfo = NULL;
        int retVal = 0, *ptrMx;
-       upnp_timeout *adEvent;
+       job_arg *adEvent;
        ThreadPoolJob job;
 
        memset(&job, 0, sizeof(job));
@@ -1940,15 +1978,15 @@
        ptrMx = (int *)malloc(sizeof(int));
        if (ptrMx == NULL)
                return UPNP_E_OUTOF_MEMORY;
-       adEvent = (upnp_timeout *)malloc(sizeof(upnp_timeout));
+       adEvent = (job_arg *)malloc(sizeof(job_arg));
 
        if (adEvent == NULL) {
                free(ptrMx);
                return UPNP_E_OUTOF_MEMORY;
        }
        *ptrMx = Exp;
-       adEvent->handle = Hnd;
-       adEvent->Event = ptrMx;
+       adEvent->advertise.handle = Hnd;
+       adEvent->advertise.Event = ptrMx;
 
        HandleLock();
        switch (GetHandleInfo(Hnd, &SInfo)) {
@@ -1962,32 +2000,30 @@
        }
                #ifdef SSDP_PACKET_DISTRIBUTE
        TPJobInit(&job, (start_routine)AutoAdvertise, adEvent);
-       TPJobSetFreeFunction(&job, (free_routine)free_upnp_timeout);
+       TPJobSetFreeFunction(&job, (free_routine)free_advertise_arg);
        TPJobSetPriority(&job, MED_PRIORITY);
        if ((retVal = TimerThreadSchedule(&gTimerThread,
                     ((Exp / 2) - (AUTO_ADVERTISEMENT_TIME)),
                     REL_SEC,
                     &job,
                     SHORT_TERM,
-                    &(adEvent->eventId))) != UPNP_E_SUCCESS) {
+                    &(adEvent->advertise.eventId))) != UPNP_E_SUCCESS) {
                HandleUnlock();
-               free(adEvent);
-               free(ptrMx);
+               free_advertise_arg(adEvent);
                return retVal;
        }
                #else
        TPJobInit(&job, (start_routine)AutoAdvertise, adEvent);
-       TPJobSetFreeFunction(&job, (free_routine)free_upnp_timeout);
+       TPJobSetFreeFunction(&job, (free_routine)free_advertise_arg);
        TPJobSetPriority(&job, MED_PRIORITY);
        if ((retVal = TimerThreadSchedule(&gTimerThread,
                     Exp - AUTO_ADVERTISEMENT_TIME,
                     REL_SEC,
                     &job,
                     SHORT_TERM,
-                    &(adEvent->eventId))) != UPNP_E_SUCCESS) {
+                    &(adEvent->advertise.eventId))) != UPNP_E_SUCCESS) {
                HandleUnlock();
-               free(adEvent);
-               free(ptrMx);
+               free_advertise_arg(adEvent);
                return retVal;
        }
                #endif
@@ -3026,11 +3062,11 @@
        Param->Fun = Fun;
 
        TPJobInit(&job, (start_routine)UpnpThreadDistribution, Param);
-       TPJobSetFreeFunction(&job, (free_routine)free);
+       TPJobSetFreeFunction(&job, (free_routine)free_action_arg);
 
        TPJobSetPriority(&job, MED_PRIORITY);
        if (ThreadPoolAdd(&gSendThreadPool, &job, NULL) != 0) {
-               free(Param);
+               free_action_arg((job_arg *)Param);
        }
 
        UpnpPrintf(UPNP_ALL,
@@ -3155,11 +3191,11 @@
        Param->Fun = Fun;
 
        TPJobInit(&job, (start_routine)UpnpThreadDistribution, Param);
-       TPJobSetFreeFunction(&job, (free_routine)free);
+       TPJobSetFreeFunction(&job, (free_routine)free_action_arg);
 
        TPJobSetPriority(&job, MED_PRIORITY);
        if (ThreadPoolAdd(&gSendThreadPool, &job, NULL) != 0) {
-               free(Param);
+               free_action_arg((job_arg *)Param);
        }
 
        UpnpPrintf(UPNP_ALL,
@@ -4026,17 +4062,27 @@
        case ACTION: {
                UpnpActionComplete *Evt = UpnpActionComplete_new();
                IXML_Document *actionResult = NULL;
-               int errCode = SoapSendAction(Param->Url,
-                       Param->ServiceType,
-                       Param->Act,
-                       &actionResult);
+               int errCode;
+               if (Param->Header) {
+                       errCode = SoapSendActionEx(Param->Url,
+                               Param->ServiceType,
+                               Param->Header,
+                               Param->Act,
+                               &actionResult);
+               } else {
+                       errCode = SoapSendAction(Param->Url,
+                               Param->ServiceType,
+                               Param->Act,
+                               &actionResult);
+               }
                UpnpActionComplete_set_ErrCode(Evt, errCode);
                UpnpActionComplete_set_ActionRequest(Evt, Param->Act);
                UpnpActionComplete_set_ActionResult(Evt, actionResult);
                UpnpActionComplete_strcpy_CtrlUrl(Evt, Param->Url);
                Param->Fun(UPNP_CONTROL_ACTION_COMPLETE, Evt, Param->Cookie);
-               free(Param);
                UpnpActionComplete_delete(Evt);
+               ixmlDocument_free(actionResult);
+               free_action_arg((job_arg *)Param);
                break;
        }
        case STATUS: {
@@ -4251,10 +4297,11 @@
        #if EXCLUDE_SSDP == 0
 void AutoAdvertise(void *input)
 {
-       upnp_timeout *event = (upnp_timeout *)input;
+       job_arg *arg = (job_arg *)input;
 
-       UpnpSendAdvertisement(event->handle, *((int *)event->Event));
-       free_upnp_timeout(event);
+       UpnpSendAdvertisement(
+               arg->advertise.handle, *((int *)arg->advertise.Event));
+       free_advertise_arg(arg);
 }
        #endif /* EXCLUDE_SSDP == 0 */
 #endif        /* INCLUDE_DEVICE_APIS */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/upnp/src/gena/gena_ctrlpt.c 
new/libupnp-1.14.16/upnp/src/gena/gena_ctrlpt.c
--- old/libupnp-1.14.15/upnp/src/gena/gena_ctrlpt.c     2022-08-03 
16:14:24.000000000 +0200
+++ new/libupnp-1.14.16/upnp/src/gena/gena_ctrlpt.c     2023-03-20 
02:24:51.000000000 +0100
@@ -53,16 +53,36 @@
 
 extern ithread_mutex_t GlobalClientSubscribeMutex;
 
+typedef struct
+{
+       int handle;
+       int eventId;
+       void *Event;
+} job_arg;
+
+/*!
+ * \brief Free memory associated with job's argument
+ */
+static void free_subscribe_arg(job_arg *arg)
+{
+       if (arg) {
+               if (arg->Event) {
+                       UpnpEventSubscribe_delete(arg->Event);
+               }
+               free(arg);
+       }
+}
+
 /*!
  * \brief This is a thread function to send the renewal just before the
  * subscription times out.
  */
 static void GenaAutoRenewSubscription(
-       /*! [in] Thread data(upnp_timeout *) needed to send the renewal. */
+       /*! [in] Thread data(job_arg *) needed to send the renewal. */
        void *input)
 {
-       upnp_timeout *event = (upnp_timeout *)input;
-       UpnpEventSubscribe *sub_struct = (UpnpEventSubscribe *)event->Event;
+       job_arg *arg = (job_arg *)input;
+       UpnpEventSubscribe *sub_struct = (UpnpEventSubscribe *)arg->Event;
        void *cookie;
        Upnp_FunPtr callback_fun;
        struct Handle_Info *handle_info;
@@ -84,7 +104,7 @@
                UpnpPrintf(
                        UPNP_INFO, GENA, __FILE__, __LINE__, "GENA AUTO RENEW");
                timeout = UpnpEventSubscribe_get_TimeOut(sub_struct);
-               errCode = genaRenewSubscription(event->handle,
+               errCode = genaRenewSubscription(arg->handle,
                        UpnpEventSubscribe_get_SID(sub_struct),
                        &timeout);
                UpnpEventSubscribe_set_ErrCode(sub_struct, errCode);
@@ -98,9 +118,9 @@
 
        if (send_callback) {
                HandleReadLock();
-               if (GetHandleInfo(event->handle, &handle_info) != HND_CLIENT) {
+               if (GetHandleInfo(arg->handle, &handle_info) != HND_CLIENT) {
                        HandleUnlock();
-                       free_upnp_timeout(event);
+                       free_subscribe_arg(arg);
                        goto end_function;
                }
                UpnpPrintf(
@@ -110,10 +130,10 @@
                callback_fun = handle_info->Callback;
                cookie = handle_info->Cookie;
                HandleUnlock();
-               callback_fun(eventType, event->Event, cookie);
+               callback_fun(eventType, arg->Event, cookie);
        }
 
-       free_upnp_timeout(event);
+       free_subscribe_arg(arg);
 
 end_function:
        return;
@@ -133,8 +153,8 @@
        /*! [in] Subscription being renewed. */
        GenlibClientSubscription *sub)
 {
-       UpnpEventSubscribe *RenewEventStruct = NULL;
-       upnp_timeout *RenewEvent = NULL;
+       UpnpEventSubscribe *RenewEvent = NULL;
+       job_arg *arg = NULL;
        int return_code = GENA_SUCCESS;
        ThreadPoolJob job;
 
@@ -145,34 +165,33 @@
                goto end_function;
        }
 
-       RenewEventStruct = UpnpEventSubscribe_new();
-       if (RenewEventStruct == NULL) {
+       RenewEvent = UpnpEventSubscribe_new();
+       if (RenewEvent == NULL) {
                return_code = UPNP_E_OUTOF_MEMORY;
                goto end_function;
        }
 
-       RenewEvent = (upnp_timeout *)malloc(sizeof(upnp_timeout));
-       if (RenewEvent == NULL) {
-               free(RenewEventStruct);
+       arg = (job_arg *)malloc(sizeof(job_arg));
+       if (arg == NULL) {
+               free(RenewEvent);
                return_code = UPNP_E_OUTOF_MEMORY;
                goto end_function;
        }
-       memset(RenewEvent, 0, sizeof(upnp_timeout));
+       memset(arg, 0, sizeof(job_arg));
 
        /* schedule expire event */
-       UpnpEventSubscribe_set_ErrCode(RenewEventStruct, UPNP_E_SUCCESS);
-       UpnpEventSubscribe_set_TimeOut(RenewEventStruct, TimeOut);
+       UpnpEventSubscribe_set_ErrCode(RenewEvent, UPNP_E_SUCCESS);
+       UpnpEventSubscribe_set_TimeOut(RenewEvent, TimeOut);
        UpnpEventSubscribe_set_SID(
-               RenewEventStruct, GenlibClientSubscription_get_SID(sub));
+               RenewEvent, GenlibClientSubscription_get_SID(sub));
        UpnpEventSubscribe_set_PublisherUrl(
-               RenewEventStruct, GenlibClientSubscription_get_EventURL(sub));
+               RenewEvent, GenlibClientSubscription_get_EventURL(sub));
 
-       /* RenewEvent->EventType=UPNP_EVENT_SUBSCRIPTION_EXPIRE; */
-       RenewEvent->handle = client_handle;
-       RenewEvent->Event = RenewEventStruct;
+       arg->handle = client_handle;
+       arg->Event = RenewEvent;
 
-       TPJobInit(&job, (start_routine)GenaAutoRenewSubscription, RenewEvent);
-       TPJobSetFreeFunction(&job, (free_routine)free_upnp_timeout);
+       TPJobInit(&job, (start_routine)GenaAutoRenewSubscription, arg);
+       TPJobSetFreeFunction(&job, (free_routine)free_subscribe_arg);
        TPJobSetPriority(&job, MED_PRIORITY);
 
        /* Schedule the job */
@@ -181,14 +200,13 @@
                REL_SEC,
                &job,
                SHORT_TERM,
-               &(RenewEvent->eventId));
+               &(arg->eventId));
        if (return_code != UPNP_E_SUCCESS) {
-               free(RenewEvent);
-               free(RenewEventStruct);
+               free_subscribe_arg(arg);
                goto end_function;
        }
 
-       GenlibClientSubscription_set_RenewEventId(sub, RenewEvent->eventId);
+       GenlibClientSubscription_set_RenewEventId(sub, arg->eventId);
 
        return_code = GENA_SUCCESS;
 
@@ -665,7 +683,7 @@
        if (TimerThreadRemove(&gTimerThread,
                    GenlibClientSubscription_get_RenewEventId(sub),
                    &tempJob) == 0) {
-               free_upnp_timeout((upnp_timeout *)tempJob.arg);
+               tempJob.free_func(tempJob.arg);
        }
 
        UpnpPrintf(UPNP_INFO,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libupnp-1.14.15/upnp/src/genlib/client_table/client_table.c 
new/libupnp-1.14.16/upnp/src/genlib/client_table/client_table.c
--- old/libupnp-1.14.15/upnp/src/genlib/client_table/client_table.c     
2022-08-03 16:14:24.000000000 +0200
+++ new/libupnp-1.14.16/upnp/src/genlib/client_table/client_table.c     
2023-03-20 02:24:51.000000000 +0100
@@ -16,7 +16,6 @@
 
 void free_client_subscription(GenlibClientSubscription *sub)
 {
-       upnp_timeout *event;
        ThreadPoolJob tempJob;
        if (sub) {
                int renewEventId =
@@ -29,8 +28,7 @@
                        if (TimerThreadRemove(&gTimerThread,
                                    renewEventId,
                                    &tempJob) == 0) {
-                               event = (upnp_timeout *)tempJob.arg;
-                               free_upnp_timeout(event);
+                               tempJob.free_func(tempJob.arg);
                        }
                }
                GenlibClientSubscription_set_RenewEventId(sub, -1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/upnp/src/genlib/util/upnp_timeout.c 
new/libupnp-1.14.16/upnp/src/genlib/util/upnp_timeout.c
--- old/libupnp-1.14.15/upnp/src/genlib/util/upnp_timeout.c     2022-08-03 
16:14:24.000000000 +0200
+++ new/libupnp-1.14.16/upnp/src/genlib/util/upnp_timeout.c     1970-01-01 
01:00:00.000000000 +0100
@@ -1,53 +0,0 @@
-/*******************************************************************************
- *
- * Copyright (c) 2000-2003 Intel Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * * Neither name of Intel Corporation nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- 
******************************************************************************/
-
-/*!
- * \file
- *
- * \brief Contains a function for freeing the memory associated with a upnp
- * time out event.
- */
-
-#include "config.h"
-
-#include "upnp_timeout.h"
-
-#include <stdlib.h> /* for free() */
-
-void free_upnp_timeout(upnp_timeout *event)
-{
-       if (event) {
-               if (event->Event) {
-                       free(event->Event);
-               }
-               free(event);
-       }
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/upnp/src/inc/client_table.h 
new/libupnp-1.14.16/upnp/src/inc/client_table.h
--- old/libupnp-1.14.15/upnp/src/inc/client_table.h     2022-08-03 
16:14:24.000000000 +0200
+++ new/libupnp-1.14.16/upnp/src/inc/client_table.h     2023-03-20 
02:24:51.000000000 +0100
@@ -15,7 +15,6 @@
 #include "UpnpString.h"
 #include "service_table.h"
 #include "upnp.h"
-#include "upnp_timeout.h"
 #include "uri.h"
 
 #include <stdio.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libupnp-1.14.15/upnp/src/inc/upnp_timeout.h 
new/libupnp-1.14.16/upnp/src/inc/upnp_timeout.h
--- old/libupnp-1.14.15/upnp/src/inc/upnp_timeout.h     2022-08-03 
16:14:24.000000000 +0200
+++ new/libupnp-1.14.16/upnp/src/inc/upnp_timeout.h     1970-01-01 
01:00:00.000000000 +0100
@@ -1,57 +0,0 @@
-/*******************************************************************************
- *
- * Copyright (c) 2000-2003 Intel Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * - Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * - Neither name of Intel Corporation nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- 
******************************************************************************/
-
-#ifndef UPNPTIMEOUT_H
-#define UPNPTIMEOUT_H
-
-/*!
- * \file
- */
-
-/*!
- * The upnp_timeout structure definition.
- */
-typedef struct UPNP_TIMEOUT
-{
-       int EventType;
-       int handle;
-       int eventId;
-       void *Event;
-} upnp_timeout;
-
-/*!
- * \brief Free memory associated with event and memory for any sub-elements.
- */
-void free_upnp_timeout(
-       /*! [in] Event which needs to be freed. */
-       upnp_timeout *event);
-
-#endif /* UPNPTIMEOUT_H */

Reply via email to