When a dog has a skin allergy, his body over secretes oils, thus causing a foul odor. So, if your dog shows symptoms of a skin allergy, then you should take him to the vet immediately. After he gets rid of the skin allergy, he will not be smelling bad.