Is it necessary to zero initialize the memory of the symbols here? In theory the symbol should not be used unless it has be initialized by the user - in which case it does not matter whether the symbol previously contained junk data or zero initialized bytes.