X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fnative_client_sdk%2Fsrc%2Flibraries%2Fnacl_io%2Ffifo_char.cc;h=144f5842be632b750fd6c64f69b79c282683a085;hb=4a1a0bdd01eef90b0826a0e761d3379d3715c10f;hp=56245559724f4fd7c5c4b56ddef31819d28ed929;hpb=b1be5ca53587d23e7aeb77b26861fdc0a181ffd8;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/native_client_sdk/src/libraries/nacl_io/fifo_char.cc b/src/native_client_sdk/src/libraries/nacl_io/fifo_char.cc index 5624555..144f584 100644 --- a/src/native_client_sdk/src/libraries/nacl_io/fifo_char.cc +++ b/src/native_client_sdk/src/libraries/nacl_io/fifo_char.cc @@ -4,6 +4,7 @@ #include "nacl_io/fifo_char.h" +#include #include #include @@ -13,12 +14,14 @@ namespace nacl_io { FIFOChar::FIFOChar(size_t size) : buffer_(NULL), size_(size), avail_(0), tail_(0) { - if (size) - buffer_ = new char[size]; + if (size) { + buffer_ = (char*)malloc(size); + assert(buffer_ != NULL); + } } FIFOChar::~FIFOChar() { - delete[] buffer_; + free(buffer_); } bool FIFOChar::IsEmpty() { @@ -34,13 +37,11 @@ bool FIFOChar::Resize(size_t len) { if (len < avail_) return false; - // Read current data into new buffer - char* data = new char[len]; - avail_ = Read(data, avail_); - - // Replace buffer - delete[] buffer_; - buffer_ = data; + // Resize buffer + buffer_ = (char*)realloc(buffer_, len); + assert(buffer_ != NULL); + if (buffer_ == NULL) + return false; size_ = len; return true; }