diff --git a/core/Universal_charstring.cc b/core/Universal_charstring.cc index ae789fbbe45fbfd8375ca997857dfdfeb79378f7..3d9d9085ed51accdd457c8944b4b9a27744554fa 100644 --- a/core/Universal_charstring.cc +++ b/core/Universal_charstring.cc @@ -1894,10 +1894,9 @@ int UNIVERSAL_CHARSTRING::XER_encode(const XERdescriptor_t& p_td, size_t len = strlen(p_td.ns_uris[0]); new_buf.put_s(len, (const unsigned char*)p_td.ns_uris[0]); new_buf.put_c('\''); - + other_buf.set_pos(index); - len = strlen((const char*)other_buf.get_read_data()); - new_buf.put_s(len, other_buf.get_read_data()); + new_buf.put_s(other_buf.get_len() - index, other_buf.get_read_data()); other_buf = new_buf; } else { check_namespace_restrictions(p_td, xmlns);