mirror of
https://git.proxmox.com/git/fwupd
synced 2025-07-27 09:46:25 +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 */
|
||||
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);
|
||||
if (!fu_firmware_parse (ihex_firmware, fw_ihex, flags, error))
|
||||
return FALSE;
|
||||
@ -89,7 +96,15 @@ fu_solokey_firmware_parse (FuFirmware *firmware,
|
||||
fu_firmware_add_image (firmware, img);
|
||||
|
||||
/* 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, "_", "/");
|
||||
g_string_append (base64_websafe, "==");
|
||||
|
Loading…
Reference in New Issue
Block a user