Просмотр исходного кода

savevm: Fix load_snapshot error path crash

An error path missed setting *errp, which can cause a NULL deref.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Message-Id: <20240813050638.446172-11-npiggin@gmail.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240813202329.1237572-19-alex.bennee@linaro.org>
Nicholas Piggin 1 год назад
Родитель
Сommit
97d2b66dcd
1 измененных файлов с 1 добавлено и 0 удалено
  1. 1 0
      migration/savevm.c

+ 1 - 0
migration/savevm.c

@@ -3288,6 +3288,7 @@ bool load_snapshot(const char *name, const char *vmstate,
     /* Don't even try to load empty VM states */
     /* Don't even try to load empty VM states */
     ret = bdrv_snapshot_find(bs_vm_state, &sn, name);
     ret = bdrv_snapshot_find(bs_vm_state, &sn, name);
     if (ret < 0) {
     if (ret < 0) {
+        error_setg(errp, "Snapshot can not be found");
         return false;
         return false;
     } else if (sn.vm_state_size == 0) {
     } else if (sn.vm_state_size == 0) {
         error_setg(errp, "This is a disk-only snapshot. Revert to it "
         error_setg(errp, "This is a disk-only snapshot. Revert to it "