From 11444ff657ae445bd783102d39f4987ff34a332c Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Wed, 13 Dec 2017 06:29:49 +0000 Subject: [PATCH] dns/dyndns: fix a crash report in namecheap error parsing (cherry picked from commit f2ed0cf14a4ccb7120364e17bc3aeb04217e3c13) --- dns/dyndns/Makefile | 1 + dns/dyndns/src/etc/inc/plugins.inc.d/dyndns/phpDynDNS.inc | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dns/dyndns/Makefile b/dns/dyndns/Makefile index 572ca3379..3a4c119a0 100644 --- a/dns/dyndns/Makefile +++ b/dns/dyndns/Makefile @@ -1,5 +1,6 @@ PLUGIN_NAME= dyndns PLUGIN_VERSION= 1.4 +PLUGIN_REVISION= 1 PLUGIN_COMMENT= Dynamic DNS Support PLUGIN_MAINTAINER= franco@opnsense.org diff --git a/dns/dyndns/src/etc/inc/plugins.inc.d/dyndns/phpDynDNS.inc b/dns/dyndns/src/etc/inc/plugins.inc.d/dyndns/phpDynDNS.inc index 85b0bcd68..d98ebc314 100644 --- a/dns/dyndns/src/etc/inc/plugins.inc.d/dyndns/phpDynDNS.inc +++ b/dns/dyndns/src/etc/inc/plugins.inc.d/dyndns/phpDynDNS.inc @@ -954,10 +954,12 @@ class updatedns { } elseif ((string)$ncresponse->ErrCount === "0") { $status = "Dynamic DNS: (Success) IP Address Updated Successfully!"; $successful_update = true; - } elseif (is_numeric((string)$ncresponse->ErrCount) && (string)$ncresponse->ErrCount > 0) { + } elseif (isset($ncresponse->ErrCount) && is_numeric((string)$ncresponse->ErrCount) && (string)$ncresponse->ErrCount > 0) { $status = "Dynamic DNS: (Error) "; - foreach ($xml->errors->children() as $err) { - $status .= (string)$err . " "; + if (isset($ncresponse->errors)) { + foreach ($ncresponse->errors->children() as $err) { + $status .= (string)$err . " "; + } } $successful_update = true; } else {