The fixed code is basically identical to the same loop below, which might indicate an opportunity for refactoring. I just wanted to fix the use-of-temporary issue.
Caught by adding a similar check to StringRef as r283798 did for ArrayRef. I'll be upstreaming that soon.