sql: display decoded msgpack for EXPLAIN queries
During DDL routines we pass encoded space/index/trigger formats into msgpack to VDBE. EXPLAIN query displays arguments of each opcode of VDBE program in a readable format. So, lets decode arguments of OP_Blob opcode with subtype = _MSGPACK before displaying them. Also, lets enlarge static buffers for P4 operand value and opcode comment to fit decoded msgpack. What is more, it fixes buffer-overflow since before this patch operands of OP_Blob were treated as strings and passed to functions like strlen() (only during EXPLAIN query). On the other hand, generally speaking msgpack can come without null termination, or contain '\0' symbols in the middle of encoded array. Closes #3868
Loading
Please register or sign in to comment