mirror of
https://git.proxmox.com/git/fwupd
synced 2025-07-29 03:22:04 +00:00
solokey: Fix a possible critical warning for invalid firmware
This commit is contained in:
parent
bfabf5c81f
commit
3baea5c2cf
@ -80,6 +80,13 @@ fu_solokey_firmware_parse (FuFirmware *firmware,
|
|||||||
|
|
||||||
/* decode */
|
/* decode */
|
||||||
base64 = json_object_get_string_member (json_obj, "firmware");
|
base64 = json_object_get_string_member (json_obj, "firmware");
|
||||||
|
if (base64 == NULL) {
|
||||||
|
g_set_error_literal (error,
|
||||||
|
FWUPD_ERROR,
|
||||||
|
FWUPD_ERROR_INVALID_FILE,
|
||||||
|
"JSON 'firmware' missing");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
fw_ihex = _g_base64_decode_to_bytes (base64);
|
fw_ihex = _g_base64_decode_to_bytes (base64);
|
||||||
if (!fu_firmware_parse (ihex_firmware, fw_ihex, flags, error))
|
if (!fu_firmware_parse (ihex_firmware, fw_ihex, flags, error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -89,7 +96,15 @@ fu_solokey_firmware_parse (FuFirmware *firmware,
|
|||||||
fu_firmware_add_image (firmware, img);
|
fu_firmware_add_image (firmware, img);
|
||||||
|
|
||||||
/* signature */
|
/* signature */
|
||||||
base64_websafe = g_string_new (json_object_get_string_member (json_obj, "signature"));
|
base64 = json_object_get_string_member (json_obj, "signature");
|
||||||
|
if (base64 == NULL) {
|
||||||
|
g_set_error_literal (error,
|
||||||
|
FWUPD_ERROR,
|
||||||
|
FWUPD_ERROR_INVALID_FILE,
|
||||||
|
"JSON 'signature' missing");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
base64_websafe = g_string_new (base64);
|
||||||
fu_common_string_replace (base64_websafe, "-", "+");
|
fu_common_string_replace (base64_websafe, "-", "+");
|
||||||
fu_common_string_replace (base64_websafe, "_", "/");
|
fu_common_string_replace (base64_websafe, "_", "/");
|
||||||
g_string_append (base64_websafe, "==");
|
g_string_append (base64_websafe, "==");
|
||||||
|
Loading…
Reference in New Issue
Block a user