Bug 18022: Fix possible crash if CircAutoPrintQuickSlip=clear screen
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 24 Feb 2017 10:44:23 +0000 (11:44 +0100)
committerMason James <mtj@kohaaloha.com>
Sun, 23 Apr 2017 23:07:16 +0000 (11:07 +1200)
commit71034e08013c5111098a648cf46113c8f671637f
tree15862a7ae7933ebd5616973580fe446a026b1183
parenta4e2f71dc563af9d33376f706fa3ec384c53ab87
Bug 18022: Fix possible crash if CircAutoPrintQuickSlip=clear screen

If CircAutoPrintQuickSlip is set to clear screen, the $borrowernumber variable
is reset but $borrower.
In 16.11.x and before that causes the app to crash, because
$borrower->{flags} is set to a hashref by GetMemberDetails, if
$borrowernumber is set.

This case is better handled in master (17.05) but side-effects could
happen: if $borrowernumber is reset, $borrower should be reset too.

The way to drive this behaviour is terrible and lot of things should be
done to clean this area. This patch is a quick and easy fix to make it
backportable easily.

Test plan:
On master, no change expected
On 16.11 and before:
0. Set CircAutoPrintQuickSlip=clear screen
1. Create a new patron
2. Set permission for this patron to 'reservesforothers' (or something
else).
3. Go on the circulation tab
4. Do not fill the barcode input and submit
=> Without this patch you will get an error
Can't use string ("64") as a HASH ref while "strict refs"....
=> With this patch apply you will get a blank screen (expected
behaviour).

I would recommend to test this patch with the other value of
CircAutoPrintQuickSlip as well
circ/circulation.pl