The error in the ACL code shows up when:
1. An ACL rule specifies an 'upper limit' rule such as filemaxsizeupperlimit
2. The queue_declare call from the user does not specify qpid.file_size in the queue declaration.
The broker passes a file_size lookup value of 0 to the ACL for checking.
The ACL code (in error) sees that the lookup value is 0 and declares the comparison a failure despite the fact that the value (0) is less than the rule's upper limit.
The fix is not to check that a lookup value is zero but just go ahead with the comparison.
The failure is easy to trigger in the self test.