Mary took a step back the second she finished what she was saying - mostly because he'd started yelling at her at the top of his lungs, but secondly because she didn't know if he'd hit her or not.
The moment she'd seen what Skeeter had written about her and James, she knew that Severus would ask, but she didn't think he'd be this upset about it. It was just a hug something she'd do to any one of her friends and here he was acting like she'd gone off and snogged James.
She stepped back again, glad the Fat Lady had decided to leave her portrait for once due to the yelling.
"Okay, so I hugged him," she yelled back at him. "He's a friend that's it. And if you want to act like this about a simple thing like a hug, maybe you're not who I thought you were."
She wasn't about to repeat what she'd said before about James saving her life - that would probably make him even more upset. And come to think of it, she was pretty upset now and she never got that way. She almost died and he wanted yell at her about a bloody hug!