diff options
Diffstat (limited to 'ace/CDR_Stream.cpp')
-rw-r--r-- | ace/CDR_Stream.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/ace/CDR_Stream.cpp b/ace/CDR_Stream.cpp index 610c6f6e9e3..38c871864f7 100644 --- a/ace/CDR_Stream.cpp +++ b/ace/CDR_Stream.cpp @@ -941,6 +941,7 @@ ACE_InputCDR::read_wstring (ACE_CDR::WChar*& x) return 1; } + this->good_bit_ = 0; x = 0; return 0; } @@ -1017,7 +1018,7 @@ ACE_InputCDR::read_boolean_array (ACE_CDR::Boolean *x, ACE_CDR::Boolean ACE_InputCDR::read_1 (ACE_CDR::Octet *x) { - if (this->rd_ptr () < this->end ()) + if (this->rd_ptr () < this->wr_ptr ()) { *x = *ACE_reinterpret_cast (ACE_CDR::Octet*,this->rd_ptr()); this->start_.rd_ptr (1); @@ -1159,7 +1160,7 @@ ACE_InputCDR::skip_string (void) ACE_CDR::ULong len; if (this->read_ulong (len)) { - if (this->rd_ptr () + len <= this->end ()) + if (this->rd_ptr () + len <= this->wr_ptr ()) { this->rd_ptr (len); return 1; @@ -1193,7 +1194,7 @@ ACE_InputCDR::skip_wstring (void) ACE_CDR::Boolean ACE_InputCDR::skip_bytes (size_t len) { - if (this->rd_ptr () + len <= this->end ()) + if (this->rd_ptr () + len <= this->wr_ptr ()) { this->rd_ptr (len); return 1; |