Skip to content
Snippets Groups Projects
  • Vladimir Davydov's avatar
    943ce3ca
    prbuf: fix prbuf_open for empty buffer · 943ce3ca
    Vladimir Davydov authored
    prbuf_check, which is called by prbuf_open, proceeds to scanning the
    buffer even if it's empty. On debug build, this results in prbuf_open
    reporting that the buffer is corrupted, because we trash the buffer in
    prbuf_create. On a release build, this may lead to a hang, in case the
    buffer is zeroed out. Let's fix this by returning success from
    prbuf_check if the buffer is empty. Note, prbuf_iterator_next doesn't
    call prbuf_first_record if the buffer is empty, either.
    
    Needed for https://github.com/tarantool/tarantool-ee/issues/187
    
    NO_DOC=bug fix
    NO_CHANGELOG=will be added to EE
    943ce3ca
    History
    prbuf: fix prbuf_open for empty buffer
    Vladimir Davydov authored
    prbuf_check, which is called by prbuf_open, proceeds to scanning the
    buffer even if it's empty. On debug build, this results in prbuf_open
    reporting that the buffer is corrupted, because we trash the buffer in
    prbuf_create. On a release build, this may lead to a hang, in case the
    buffer is zeroed out. Let's fix this by returning success from
    prbuf_check if the buffer is empty. Note, prbuf_iterator_next doesn't
    call prbuf_first_record if the buffer is empty, either.
    
    Needed for https://github.com/tarantool/tarantool-ee/issues/187
    
    NO_DOC=bug fix
    NO_CHANGELOG=will be added to EE