It makes the code use one less variable. I don't see how is this dubious, but I understand that it's trivial.
Yes, at the cost of potentially less readability, or, depending on the compile settings, a little more difficulty in checking whether the function succeeded. I don't see that the benefits outweigh the costs.
Well, that's entirely up to you guys ;)
Amine.