[tarantool-patches] Re: [PATCH] msgpackffi.decode can now be assigned to buf.rpos

  • From: Alexander Turenko <alexander.turenko@xxxxxxxxxxxxx>
  • To: Kirill Yukhin <kyukhin@xxxxxxxxxxxxx>
  • Date: Mon, 6 Jan 2020 18:46:32 +0300

On Tue, Dec 31, 2019 at 10:51:30AM +0300, Kirill Yukhin wrote:

Hello,

On 31 дек 06:56, Alexander Turenko wrote:
On Mon, Dec 30, 2019 at 10:53:26AM +0300, Kirill Yukhin wrote:
Hello,

On 12 сен 20:44, Maria wrote:
Function decode of module msgpackffi was passing
value of type const unsigned char * to a C function
that accepts arguments of type const char *.

Closes #3926

Test added
---
 src/lua/msgpackffi.lua           | 8 +++++---
 test/app-tap/msgpackffi.test.lua | 6 ++++++
 2 files changed, 11 insertions(+), 3 deletions(-)

I've checked your patch into master.

I would reconsider it as bug and push everywhere (both patches).

It seems that significant part of the problem is just because someone
forgot to cast (unsigned char *) back to (char *) before returning.

What do you think, Kirill?
Yup.

Kindly reminder.

Those two patches still land only to 2.3 and master branches:

$ (needle="lua: don't modify pointer type in msgpack.decode*"; git fetch; for 
branch in 1.10 2.1 2.2 2.3 master; do printf "${branch}\t"; (git log --oneline 
"origin/${branch}" | grep -F "${needle}" || echo "(not found)"); done)
1.10    (not found)
2.1     (not found)
2.2     (not found)
2.3     2b9ef8d15 lua: don't modify pointer type in msgpack.decode*
master  2b9ef8d15 lua: don't modify pointer type in msgpack.decode*

$ (needle="lua: keeping the pointer type in msgpackffi.decode()"; git fetch; 
for branch in 1.10 2.1 2.2 2.3 master; do printf "${branch}\t"; (git log 
--oneline "origin/${branch}" | grep -F "${needle}" || echo "(not found)"); done)
1.10    (not found)
2.1     (not found)
2.2     (not found)
2.3     84bcba52a lua: keeping the pointer type in msgpackffi.decode()
master  84bcba52a lua: keeping the pointer type in msgpackffi.decode()

WBR, Alexander Turenko.

Other related posts: