diff -Nur id3lib-3.8.3-orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp --- id3lib-3.8.3-orig/src/io_helpers.cpp 2003-03-02 01:23:00.000000000 +0100 +++ id3lib-3.8.3/src/io_helpers.cpp 2005-07-16 12:47:11.000000000 +0200 @@ -363,9 +363,10 @@ // Write the BOM: 0xFEFF unicode_t BOM = 0xFEFF; writer.writeChars((const unsigned char*) &BOM, 2); + const unsigned char* pdata = (const unsigned char*)data.c_str(); for (size_t i = 0; i < size; i += 2) { - unicode_t ch = (data[i] << 8) | data[i+1]; + unicode_t ch = (pdata[i] << 8) | pdata[i+1]; writer.writeChars((const unsigned char*) &ch, 2); } }