summaryrefslogtreecommitdiff
path: root/ace/CDR_Stream.i
diff options
context:
space:
mode:
Diffstat (limited to 'ace/CDR_Stream.i')
-rw-r--r--ace/CDR_Stream.i8
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_);
}