[tarantool-patches] Re: [PATCH] travis-ci: set right flags in release testing jobs

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Sun Apr 28 12:11:28 MSK 2019


>>
>>> * xrow_decode_*() functions could read uninitialized data when printing
>>>   a hex code for a row if the received msgpack is empty, but there are
>>>   expected keys.
>>
>> Please, suggest a change for wording if the current one is not clear.

Ahh, now I see. It is possible that row->bodycnt == 0 and we jump to
'done'. It tries to write an error via xrow_on_decode_err, which reads
row->body[0]. Probably then I can suggest adding an explicit mention of
xrow_on_decode_err() function and an attempt to access an array by index
out of range.

I did not understand your explanation below about cycles and
dump_row_hex(), because I did not know, that they are not used in
xrow_decode_dml() directly, but via xrow_on_decode_err().

>> My change causes `for (const char *cur = start; cur < end;) { ... }` in
>> dump_row_hex() to walk around the loop body and so prevents reading from
>> `start` in the loop (NULL < NULL is false).

Then you can ignore my comments about xrow_decode_dml and xrow_decode_ballot.
Others are still valid.

By the way,

                  \\\ ,
                    \ `|
                     ) (   .-""-.
                     | |  /_  {  '.
                     | | (/ `\   } )
                     | |  ^/ ^`}   {
                     \  \ \=  ( {   )
                      \  \ '-, {   {{
                       \  \_.'  ) }  )
                        \.-'   (     (
                        /'-.'_. ) (  }
                        \_(    {   _/\
                         ) '--' `-;\  \
                     _.-'       /  / /
              <\/>_.'         .'  / /
          <\/></\>/.  '      /<\// /
          </\>  _ |\`- _ . -/|<// (
       <\/>    - _- `  _.-'`_/- |  \
       </\>        -  - -  -     \\\
        }`<\/>                <\/>`{
        { </\>-<\/>_<\/>_<\/>-</\> }
        }      </\> </\> </\>      {
     <\/>.                         <\/>
     </\>                          </\>
      {`<\/>                     <\/>`}
      } </\>-<\/>_<\/>_<\/>_<\/>-</\> {
      {      </\> </\> </\> </\>      }
      }                               }
      {           H A P P Y           {
   <\/>        B I R T H D A Y        <\/>
   </\>                               </\>
     `<\/>                          <\/>'
      </\>-<\/>_<\/>_<\/>_<\/>_<\/>-</\>
           </\> </\> </\> </\> </\>




More information about the Tarantool-patches mailing list