OSDN Git Service

generic_append_variable(): only try to create if errno was ENOENT
authorPeter Jones <pjones@redhat.com>
Sat, 8 Jul 2017 16:56:10 +0000 (12:56 -0400)
committerPeter Jones <pjones@redhat.com>
Wed, 20 Sep 2017 20:46:16 +0000 (16:46 -0400)
Signed-off-by: Peter Jones <pjones@redhat.com>
src/generics.h

index 10f242f..22ae266 100644 (file)
@@ -174,7 +174,7 @@ generic_append_variable(efi_guid_t guid, const char *name,
                        efi_error("efi_set_variable failed");
                free(d);
                free(data);
-       } else if (errno == ENOENT) {
+       } else if (rc < 0 && errno == ENOENT) {
                data = new_data;
                data_size = new_data_size;
                attributes = new_attributes & ~EFI_VARIABLE_APPEND_WRITE;