Evaluating the __VA_ARGS__ twice for printing a critical error can have side effects. Avoid these by using an intermediate buffer. Change-Id: I8ddace6ad06f47d6827f3f3ba3c5b882cbfb0140