История изменений
Исправление intelfx, (текущая версия) :
Вот этот фрагмент --
- if (!arg_type || streq(arg_type, CRYPT_LUKS1))
+ if (!arg_type || streq(arg_type, CRYPT_LUKS1)) {
r = crypt_load(cd, CRYPT_LUKS1, NULL);
+ if (r < 0) {
+ log_error("crypt_load() failed on device %s.\n", crypt_get_device_name(cd));
+ return r;
+ }
+
+ if (data_device)
+ r = crypt_set_data_device(cd, data_device);
+ }
на мой взгляд, неверен. arg_type == NULL
имеет семантику «автоподбора типа», т. е. ошибка должна игнорироваться. Можно сделать так:
if (!arg_type || streq(arg_type, CRYPT_LUKS1)) {
r = crypt_load(cd, CRYPT_LUKS1, NULL);
if (r == 0) {
<твой код>
}
}
arg_type != NULL
:
if (!arg_type || streq(arg_type, CRYPT_LUKS1)) {
r = crypt_load(cd, CRYPT_LUKS1, NULL);
if (arg_type && r < 0)
return log_error_errno(r, "Loading of cryptographic parameters failed: %m");
<твой код>
}
Исправление intelfx, :
Вот этот фрагмент --
- if (!arg_type || streq(arg_type, CRYPT_LUKS1))
+ if (!arg_type || streq(arg_type, CRYPT_LUKS1)) {
r = crypt_load(cd, CRYPT_LUKS1, NULL);
+ if (r < 0) {
+ log_error("crypt_load() failed on device %s.\n", crypt_get_device_name(cd));
+ return r;
+ }
+
+ if (data_device)
+ r = crypt_set_data_device(cd, data_device);
+ }
на мой взгляд, неверен. arg_type == NULL
имеет семантику «автоподбора типа», т. е. ошибка должна игнорироваться. Можно сделать так:
if (!arg_type || streq(arg_type, CRYPT_LUKS1)) {
r = crypt_load(cd, CRYPT_LUKS1, NULL);
if (r == 0) {
<твой код>
}
}
arg_type != NULL
:
if (!arg_type || streq(arg_type, CRYPT_LUKS1)) {
r = crypt_load(cd, CRYPT_LUKS1, NULL);
if (arg_type && r < 0)
return log_error_errno(r, "Loading of cryptographic parameters failed: %m");
<твой код>
}
Исправление intelfx, :
Вот этот фрагмент --
- if (!arg_type || streq(arg_type, CRYPT_LUKS1))
+ if (!arg_type || streq(arg_type, CRYPT_LUKS1)) {
r = crypt_load(cd, CRYPT_LUKS1, NULL);
+ if (r < 0) {
+ log_error("crypt_load() failed on device %s.\n", crypt_get_device_name(cd));
+ return r;
+ }
+
+ if (data_device)
+ r = crypt_set_data_device(cd, data_device);
+ }
на мой взгляд, неверен. arg_type == NULL
имеет семантику «автоподбора типа», т. е. ошибка должна игнорироваться. Можно сделать так:
if (!arg_type || streq(arg_type, CRYPT_LUKS1)) {
r = crypt_load(cd, CRYPT_LUKS1, NULL);
if (r == 0) {
<твой код>
}
}
arg_type != NULL
.Исправление intelfx, :
Вот этот фрагмент --
- if (!arg_type || streq(arg_type, CRYPT_LUKS1))
+ if (!arg_type || streq(arg_type, CRYPT_LUKS1)) {
r = crypt_load(cd, CRYPT_LUKS1, NULL);
+ if (r < 0) {
+ log_error("crypt_load() failed on device %s.\n", crypt_get_device_name(cd));
+ return r;
+ }
+
+ if (data_device)
+ r = crypt_set_data_device(cd, data_device);
+ }
на мой взгляд, неверен. arg_type == NULL
имеет семантику «автоподбора типа», т. е. ошибка должна игнорироваться. Можно сделать так:
if (!arg_type || streq(arg_type, CRYPT_LUKS1)) {
r = crypt_load(cd, CRYPT_LUKS1, NULL);
if (r == 0) {
<твой код>
}
}
arg_type != NULL
.Исправление intelfx, :
Вот этот фрагмент --
- if (!arg_type || streq(arg_type, CRYPT_LUKS1))
+ if (!arg_type || streq(arg_type, CRYPT_LUKS1)) {
r = crypt_load(cd, CRYPT_LUKS1, NULL);
+ if (r < 0) {
+ log_error("crypt_load() failed on device %s.\n", crypt_get_device_name(cd));
+ return r;
+ }
+
+ if (data_device)
+ r = crypt_set_data_device(cd, data_device);
+ }
на мой взгляд, неверен. arg_type == NULL
имеет семантику «автоподбора типа», т. е. ошибка должна игнорироваться. Можно сделать так:
if (!arg_type || streq(arg_type, CRYPT_LUKS1)) {
r = crypt_load(cd, CRYPT_LUKS1, NULL);
if (r == 0) {
<твой код>
}
}
Исходная версия intelfx, :
Вот этот фрагмент --
- if (!arg_type || streq(arg_type, CRYPT_LUKS1))
+ if (!arg_type || streq(arg_type, CRYPT_LUKS1)) {
r = crypt_load(cd, CRYPT_LUKS1, NULL);
+ if (r < 0) {
+ log_error("crypt_load() failed on device %s.\n", crypt_get_device_name(cd));
+ return r;
+ }
+
+ if (data_device)
+ r = crypt_set_data_device(cd, data_device);
+ }
на мой взгляд, неверен. arg_type == NULL
имеет семантику «автоподбора типа», т. е. ошибка должна игнорироваться. Можно сделать так:
if (!arg_type || streq(arg_type, CRYPT_LUKS1)) {
r = crypt_load(cd, CRYPT_LUKS1, NULL);
if (r == 0) {
<твой код>
}
}