mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From a143206b2a8f582a1271d919cfb008f26930056b Mon Sep 17 00:00:00 2001
 | |
| From: Nathan Chancellor <nathan@kernel.org>
 | |
| Date: Mon, 31 Jan 2022 17:23:38 -0700
 | |
| Subject: [PATCH] media: bcm2835-unicam: Set ret on error path in
 | |
|  unicam_async_complete()
 | |
| 
 | |
| Clang warns:
 | |
| 
 | |
|   drivers/media/platform/bcm2835/bcm2835-unicam.c:3109:6: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
 | |
|           if (!source_pads) {
 | |
|               ^~~~~~~~~~~~
 | |
|   drivers/media/platform/bcm2835/bcm2835-unicam.c:3152:9: note: uninitialized use occurs here
 | |
|           return ret;
 | |
|                  ^~~
 | |
|   drivers/media/platform/bcm2835/bcm2835-unicam.c:3109:2: note: remove the 'if' if its condition is always false
 | |
|           if (!source_pads) {
 | |
|           ^~~~~~~~~~~~~~~~~~~
 | |
|   drivers/media/platform/bcm2835/bcm2835-unicam.c:3091:9: note: initialize the variable 'ret' to silence this warning
 | |
|           int ret;
 | |
|                  ^
 | |
|                   = 0
 | |
|   1 warning generated.
 | |
| 
 | |
| When the if condition is true, ret will be used uninitialized, which
 | |
| could result in undesirable behavior. Set ret to -ENODEV on the error
 | |
| path, which is a standard error code for the ->complete() callback.
 | |
| 
 | |
| Fixes: d056e86eb35f ("media/bcm2835-unicam: Parse pad numbers correctly")
 | |
| Signed-off-by: Nathan Chancellor <nathan@kernel.org>
 | |
| ---
 | |
|  drivers/media/platform/bcm2835/bcm2835-unicam.c | 1 +
 | |
|  1 file changed, 1 insertion(+)
 | |
| 
 | |
| --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c
 | |
| +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c
 | |
| @@ -3108,6 +3108,7 @@ static int unicam_async_complete(struct
 | |
|  	}
 | |
|  	if (!source_pads) {
 | |
|  		unicam_err(unicam, "No source pads on sensor.\n");
 | |
| +		ret = -ENODEV;
 | |
|  		goto unregister;
 | |
|  	}
 | |
|  
 |