summaryrefslogtreecommitdiff
path: root/ace/CDR_Base.inl
diff options
context:
space:
mode:
Diffstat (limited to 'ace/CDR_Base.inl')
-rw-r--r--ace/CDR_Base.inl9
1 files changed, 9 insertions, 0 deletions
diff --git a/ace/CDR_Base.inl b/ace/CDR_Base.inl
index bf0f8b8d878..79d10e7294a 100644
--- a/ace/CDR_Base.inl
+++ b/ace/CDR_Base.inl
@@ -156,6 +156,15 @@ ACE_CDR::mb_align (ACE_Message_Block *mb)
ACE_CDR::MAX_ALIGNMENT);
mb->rd_ptr (start);
mb->wr_ptr (start);
+
+#if defined (ACE_HAS_PURIFY)
+ // This is a good place to zero the buffer; this is not needed
+ // by IIOP, but makes Purify happy.
+ if (mb->base () != 0)
+ {
+ (void) ACE_OS::memset (mb->base (), 0, mb->size ());
+ }
+#endif /* ACE_HAS_PURIFY */
}
ACE_INLINE size_t