Have you checked with the security team about this yet? C++ might reduce the number of potentially unsafe manual casting that goes on in the code, but it also introduces a whole host of (often very subtle) security risks of its own… (For example, see: [chargen.matasano.com] and some of the links there) Depending on how much you’re planning on changing — and depending on your security folks — it might well be faster to tighten up the current codebase than to rewrite it. (It’s been a little while since I looked at the code, and I certainly haven’t tried to do a formal review, but I didn’t notice too many scary things going on in there…)
On a more selfish note — I too was eyeing upb for use in a (pure C) project of mine, and would just as soon see it stay C… So take my comments with a grain of salt.
-sq