It covers the cases when the sentry object returns false and when an exception
was thrown. Corresponding standard paragraph is C++14 [istream.unformatted]p9:
[...] In any case, if n is greater than zero it then stores a null character into the next successive location of the array.
rdar://problem/35566567
I'm not a big fan of "putting braces around single statement blocks", and (see line 963) that doesn't match the rest of libcxx.