Unless you are willing to work with him to combat his BO problem, which sounds like just the tip of the iceberg of issues, then you probably don't want to become the victim of someone else's mental illness here. Some of our friends are deeply troubled, beyond any point where we personally have the skill to save them alone. Stepping into the firing line can be a huge negative for you. Can, not necessarily will. You must make your own determination/gamble.
Some people are afraid to be honest with another's odor problem, simply because it's not "polite" to point out such a fault. I used to work with a guy who never went to the dentist (fear and cheapness...he had the money) and probably didn't brush his teeth. He could sink a ship from 10 feet away with his breath.
Eventually, I realized that I was tired of playing the politeness game and enduring his rancid breath, so I decided to be frankly, but benevolently, honest with this guy. I knew I was not putting myself in harm's way. Whenever I smelled his bad breath, I told him that his breath stank, and that I wouldn't go out on a break with him (evening work schedule) unless he brushed his teeth. And, in his case, that he'd end up seeing more doctors and spending more money in the future, should he continue to avoid a health issue. He understood, but he was too afraid of dentists to really take care of the problem. (Amazingly, he had a wife and kids!)
THE POINT IS that I was safe, in this case, and I knew it, and even if others played the politeness game and continued being his victims, I was no longer willing. So I acted, with kindness, but honesty. There was a small selfish element, sure, but I was tired of hearing others talk about his damn breath all the time. And, in the long run, the man's health was probably at risk because of mouth disease, so I was actually trying to get him to change for better personal health. After all, he was a family man (believe it or not!).
In your case, if there is ANY potential for you to become the victim of physical abuse, don't even consider trying to save the person. It's similar to non-family member with alcoholism, a smoking or overeating problem, a gambling addiction, etc.