Bug 6253 followup: explicitly check ref value for ARRAY before casting
authorIan Walls <ian.walls@bywatersolutions.com>
Wed, 19 Oct 2011 15:46:21 +0000 (11:46 -0400)
committerChris Cormack <chrisc@catalyst.net.nz>
Wed, 19 Oct 2011 20:20:20 +0000 (09:20 +1300)
commitd80cf35e9ba39112bfdefc3ce6ba8ddae121347c
treeca917f5a907e584b2f32659603195f23db7ed984
parent18b8991cf1832a0ee79a526e6438b51fdb4f3208
Bug 6253 followup: explicitly check ref value for ARRAY before casting

in C4::SQLHelper::_Process_Operands, $operand has been modified to be cast as an array ref
if the incoming $operand is not a ref.  However, the incoming $operand could be some other
kind of ref (hashref for example), which would case the dereferencing in line 419 to fail and exit.

Adding an explicit test for whether the ref is ARRAY seems to clear up this issue.

To test, run t/db_dependent/Members.t.  Before, it fails after test 3.  After, it completes all tests.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
C4/SQLHelper.pm