Wrap REPORT_KEYCHAIN_ERROR macro in do-while block, add semi-colons to macro usage.