Bug#910723: libnet-upnp-perl: Crash when device not responding: Can't call method "getcontent" without a package or object reference

Graham Cobb g+debian at cobb.uk.net
Wed Oct 10 11:23:36 BST 2018


Package: libnet-upnp-perl
Version: 1.4.4-1
Severity: normal
Tags: patch upstream

[Note: this is a resubmission of the report as I think it got lost in an unrelated problem on
my system. I cannot find the earlier report but if this is a duplicate I apologise].

Dear Maintainer,

I recently updated my debian testing system and my DLNA applications now sometimes crash with:

Can't call method "getcontent" without a package or object reference at /usr/share/perl5/Net/UPnP/ControlPoint.pm line 107.

The problem occurs when calling a Net::UPnP::ControlPoint search method.
If *any* of the announcements contains a URL which does not respond to a connection
attempt then the crash occurs.
The previous version of libnet-upnp-perl handled this.

This is a relatively common occurence on my network as I am using an SSDP proxy to advertise
devices which are on another subnet. It is particularly annoying when the missing device is
not the one my application is intending to use.

The patch below (to check if the HTTP post succeeded) works for me.

--- /usr/share/perl5/Net/UPnP/ControlPoint.pm.sav       2018-10-09 22:53:01.330259071 +0100
+++ /usr/share/perl5/Net/UPnP/ControlPoint.pm   2018-10-10 11:01:20.909321292 +0100
@@ -97,6 +97,7 @@
                
                $http_req = Net::UPnP::HTTP->new();
                $post_res = $http_req->post($dev_addr, $dev_port, "GET", $dev_path, "", "");
+               next if ! $post_res;
                
                if ($Net::UPnP::DEBUG) {
                        print $post_res->getstatus() . "\n";


-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (900, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.18.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_IE.utf8, LC_CTYPE=en_IE.utf8 (charmap=UTF-8) (ignored: LC_ALL set to en_IE.utf8), LANGUAGE=en_IE.utf8 (charmap=UTF-8) (ignored: LC_ALL set to en_IE.utf8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libnet-upnp-perl depends on:
ii  perl  5.26.2-7

libnet-upnp-perl recommends no packages.

libnet-upnp-perl suggests no packages.

-- no debconf information



More information about the pkg-perl-maintainers mailing list