Lua使用XMLHttpRequest请求buffer时出错

我在lua中使用XMLHttpRequest请求数据:服务端返回的数据是:0x 00 00 0f ab
1、设置 xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_ARRAY_BUFFER
2、在回调中输出这个输出:

   local response = xhr.response
    local strS = "  respones = 0x"
     for k, v in ipairs(response) do
         strS = string.format("%s %02x", strS, v)
     end
     cclog(strS)

------------结果是: respones = 0x 00 00 00 50
上面结果和服务端返回数据不一样!!!!

3、然后我在XMLHttpRequest源码中增加输出:
在LuaMinXmlHttpRequest::_sendRequest方法中添加代码:
char* concatenated = (char*) malloc(buffer->size() + 1);
std::string s2(buffer->begin(), buffer->end());
strcpy(concatenated, s2.c_str());

     if (statusCode == 200)
     {

// 下面新增输出:
for(unsigned int i=0;i < buffer->size();i++){
CCLOG("%02x", (*buffer) *); }

          for(unsigned int i=0;i < buffer->size() + 1;i++){
             CCLOG("%02x", concatenated*);
         }

------------结果是:buffer:  0x 00 00 0f ffffab

------------结果是:concatenated: 0x 00 00 00 50 20
上面结果中,buffer是对的,只是最后一个byte输出怪怪的(ffffab);但是从buffer拷贝出来的concatenated却变了。这样出大bug了

求解析,求解决方法
**