Visiting the following URL causes a segfault with version 3.55:
http://www.bbc.co.uk/iplayer/episode/p0034mqx/William_Wright_25_05_2009/
#0 0xb7e98daf in memmem () from /lib/libc.so.6
#1 0xb21f888c in buildPlaylist (instance=0xa4128f8, file=0xa414508 "/tmp/mplaycO2fho", parent=0xa413508)
at Source/plugin-list.cpp:843
#2 0xb21e826c in nsPluginInstance::DestroyStream (this=0xa4128f8, stream=0x9fc3aa8, reason=0)
at Source/plugin.cpp:1459
#3 0xb21ed9e8 in NPP_DestroyStream (instance=0xa411fc0, stream=0x9fc3aa8, reason=<value optimized out>)
at plugingate/npp_gate.cpp:181
#4 0xb794e5b7 in ?? () from /usr/lib/xulrunner-1.9.0.10/libxul.so
#5 0x0a411fc0 in ?? ()
#6 0x09fc3aa8 in ?? ()
#7 0x00000000 in ?? ()
This is fixed by adding a further break condition to a loop to avoid a buffer overflow. There may be a more elegant way of doing this :)