I added an additional test where the second database is `":memory:"`, so it starts life as an empty in-memory database. If I call `sqlite3_db_filename` on this handle I get back a non-null empty string, as expected. When I call `sqlite3_deserialize` on this second database, the database becomes a clone of the first one, as expected. If I now call `sqlite3_db_filename` on this handle I get back a non-null string with the value `"x"`, just as in the first case I reported. This is not expected (by me).