diff options
Diffstat (limited to 'TAO/tao/CDR.cpp')
-rw-r--r-- | TAO/tao/CDR.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/TAO/tao/CDR.cpp b/TAO/tao/CDR.cpp index 27d438e665a..3e1bb59fbd9 100644 --- a/TAO/tao/CDR.cpp +++ b/TAO/tao/CDR.cpp @@ -544,12 +544,15 @@ TAO_OutputCDR::write_octet_array_mb (const ACE_Message_Block* mb) continue; } - ACE_Message_Block* cont = ACE_Message_Block::duplicate (i); + ACE_Message_Block* cont = + new ACE_Message_Block (i->data_block ()->duplicate ()); if (cont != 0) { cont->cont (this->current_->cont ()); this->current_->cont (cont); this->current_ = cont; + cont->rd_ptr (i->rd_ptr ()); + cont->wr_ptr (i->wr_ptr ()); } else { |