th_decode_headerin fails if malloc(0) returns NULL and header has no comments
malloc(0) can return either a valid pointer or NULL depending on implementation. If it returns NULL, th_decode_headerin will return TH_EFAULT if it encounters a Theora header with no comments.
This happens because oc_comment_unpack performs a NULL check on _tc->user_comments and _tc->comment_lengths even if _tc->comments is 0.