libavb: Handle wrong hashtree_error_mode in avb_append_options()
Exit with AVB_SLOT_VERIFY_RESULT_ERROR_INVALID_ARGUMENT
when hashtree_error_mode value passed to avb_append_options()
is unknown (not from AvbHashtreeErrorMode enum).
Otherwise, default value is not handled in the
switch(hashtree_error_mode), which causes below compile warning:
lib/libavb/avb_cmdline.c: In function ‘avb_append_options’:
lib/libavb/avb_cmdline.c:354:13: warning: ‘dm_verity_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     new_ret = avb_replace(
     ~~~~~~~~^~~~~~~~~~~~~~
         slot_data->cmdline, "$(ANDROID_VERITY_MODE)", dm_verity_mode);
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib/libavb/avb_cmdline.c:363:8: warning: ‘verity_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   if (!cmdline_append_option(
        ^~~~~~~~~~~~~~~~~~~~~~
           slot_data, "androidboot.veritymode", verity_mode)) {
Signed-off-by: Ievgen Maliarenko <ievgen.maliarenko@globallogic.com>
Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org>
			
			
This commit is contained in:
		
							parent
							
								
									3b1c0d89b9
								
							
						
					
					
						commit
						ecc6f6bea6
					
				|  | @ -331,6 +331,9 @@ AvbSlotVerifyResult avb_append_options( | ||||||
|         verity_mode = "logging"; |         verity_mode = "logging"; | ||||||
|         dm_verity_mode = "ignore_corruption"; |         dm_verity_mode = "ignore_corruption"; | ||||||
|         break; |         break; | ||||||
|  |       default: | ||||||
|  |         ret = AVB_SLOT_VERIFY_RESULT_ERROR_INVALID_ARGUMENT; | ||||||
|  |         goto out; | ||||||
|     } |     } | ||||||
|     new_ret = avb_replace( |     new_ret = avb_replace( | ||||||
|         slot_data->cmdline, "$(ANDROID_VERITY_MODE)", dm_verity_mode); |         slot_data->cmdline, "$(ANDROID_VERITY_MODE)", dm_verity_mode); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue