diff options
Diffstat (limited to 'ace/CDR_Stream.i')
-rw-r--r-- | ace/CDR_Stream.i | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ace/CDR_Stream.i b/ace/CDR_Stream.i index 60ce5f64052..550758f1a4b 100644 --- a/ace/CDR_Stream.i +++ b/ace/CDR_Stream.i @@ -1081,7 +1081,9 @@ operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_octet x) ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_string x) { - ACE_CDR::ULong len = ACE_OS::strlen (x.val_); + ACE_CDR::ULong len = 0; + if (x.val_ != 0) + len = ACE_OS::strlen (x.val_); os.write_string (len, x.val_); return os.good_bit () && (len <= x.bound_); } @@ -1089,7 +1091,9 @@ operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_string x) ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_wstring x) { - ACE_CDR::ULong len = ACE_OS::wslen (x.val_); + ACE_CDR::ULong len; + if (x.val_ != 0) + len = ACE_OS::wslen (x.val_); os.write_wstring (len, x.val_); return os.good_bit () && (len <= x.bound_); } |