No present instead he got us a gun

My husband got up this morning and told me he was going somewhere. It was weird to me because we always tell each other where we are. So we got into it he tells me he's going to the store with his friend. I'm like okay hes probably going Christmas shopping for me. He comes home 1 hour later. I say so what did you buy why did you go to that Walmart if we have one near us? He says because only in that Walmart they sell what I needed. I'm like omg wtf did he get me!? So he tells me I'll tell you tonight. I put the baby to bed we do our thing he brings something out of a tall kitchen cabinet I can't reach I'm like YESSS MY PRESENT! Well no it was a damn GUN! He went to buy bullets and has had the gun for 2 weeks! I felt so bad cause he kept it from me. He bought it from his brother who sells that kind of stuff. Am I overreacting? I feel so dissapointed in him idk how to explain it. He says he wants to protect me and our baby. I said from what?! our damn old neighbors? He's an awesome dad very hard worker and kind. I just feel like this is a waste of money and pointless. what do you ladies think should I be more understanding?