Paolo Bonzini <pbonz...@redhat.com> writes: > On 11/05/2018 11:27, Peter Maydell wrote: >>> +uint8_t replay_get_byte(void) >>> +{ >>> + uint8_t byte = 0; >>> + if (replay_file) { >>> + byte = getc(replay_file); >>> + } >>> + return byte; >>> +} >> Coverity (CID 1390576) points out that this function isn't checking >> the error return from getc(). That means we could incorrectly return >> 255 from here and then the return value from replay_get_dword would >> be 0xffffffff, which is unfortunate if the place that's using >> that uses it as a loop boundary. > > Thanks! Pavel can you check it? How is error checking done in general > for record/replay, should QEMU exit immediately? > >> Incidentally, is it worth adding something to our coverity model >> to tell coverity that data from replay_get_byte() is not tainted? > > Good idea. Something like > > uint8_t replay_get_byte(void) > { > uint8_t byte; > if (!replay_file) { > return 0; > } > return byte; > } > > should do.
Care to submit a patch?