hmp_object_del() followed by a subsequent hmp_object_add() can trigger a duplicate ID error if the previous object shared the same ID and was added via the command-line. Please see patch 2/2 for more details.
This patchset fixes the issue in question and adds some general unit tests for object created via -object, which we later extend to verify the fix in question. Changes since v3: - Fixed up comment formating (Markus) - Instead of segfaulting, use &error_abort if assumptions about 'object' property group existence change (Markus) - Use g_assert_null in place of g_assert(... == NULL) (Markus) Changes since v2: - Moved the generic unit tests ahead of the fix patch, with a FIXME in place of the actual check for the failure addressed in patch 2/2 (Daniel/Markus) - Dropped check for existence of objects' QemuOptsList (Markus) - Dropped unintended whitespace removal in PATCH 1/2 - Slight rewording of commit messages to reflect the changes and fix minor grammar errors. Changes since v1: - Moved QemuOpt cleanup out of {qmp,hmp}_object_del() and into common user_creatable_del() path (Daniel, David) - Added corresponding test case in check-qom-proplist