Subject: | User reported crash; patch supplied |
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=602056
"Using the (slightly modified) examples at:
http://guide.soaplite.com/
causes the client to die with:
Not a HASH reference at /usr/share/perl5/SOAP/Lite.pm line 3755."
Subject: | hashref_crash.patch |
Author: Ashish Shukla <wahjava@members.fsf.org>
Subject: use 'ref' rather than 'UNIVERSAL::isa'
--- a/lib/SOAP/Lite.pm
+++ b/lib/SOAP/Lite.pm
@@ -3747,13 +3747,13 @@
# fillup parameters
UNIVERSAL::isa($_[$param] => 'SOAP::Data')
? $_[$param]->SOAP::Data::value($value)
- : UNIVERSAL::isa($_[$param] => 'ARRAY')
+ : (ref($_[$param] eq 'ARRAY'))
? (@{$_[$param]} = @$value)
- : UNIVERSAL::isa($_[$param] => 'HASH')
+ : (ref($_[$param]) eq 'HASH')
? (%{$_[$param]} = %$value)
- : UNIVERSAL::isa($_[$param] => 'SCALAR')
+ : (ref($_[$param]) eq 'SCALAR')
? (${$_[$param]} = $$value)
- : ($_[$param] = $value)
+ : ($_[$param] = $value);
}
}
}