63 lines
		
	
	
	
		
			831 B
			
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			63 lines
		
	
	
	
		
			831 B
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								/// Make sure of_device_id tables are NULL terminated
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								// Keywords: of_table
							 | 
						||
| 
								 | 
							
								// Confidence: Medium
							 | 
						||
| 
								 | 
							
								// Options: --include-headers
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								virtual patch
							 | 
						||
| 
								 | 
							
								virtual context
							 | 
						||
| 
								 | 
							
								virtual org
							 | 
						||
| 
								 | 
							
								virtual report
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@depends on context@
							 | 
						||
| 
								 | 
							
								identifier var, arr;
							 | 
						||
| 
								 | 
							
								expression E;
							 | 
						||
| 
								 | 
							
								@@
							 | 
						||
| 
								 | 
							
								struct of_device_id arr[] = {
							 | 
						||
| 
								 | 
							
									...,
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
									.var = E,
							 | 
						||
| 
								 | 
							
								*	}
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@depends on patch@
							 | 
						||
| 
								 | 
							
								identifier var, arr;
							 | 
						||
| 
								 | 
							
								expression E;
							 | 
						||
| 
								 | 
							
								@@
							 | 
						||
| 
								 | 
							
								struct of_device_id arr[] = {
							 | 
						||
| 
								 | 
							
									...,
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
									.var = E,
							 | 
						||
| 
								 | 
							
								-	}
							 | 
						||
| 
								 | 
							
								+	},
							 | 
						||
| 
								 | 
							
								+	{ }
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@r depends on org || report@
							 | 
						||
| 
								 | 
							
								position p1;
							 | 
						||
| 
								 | 
							
								identifier var, arr;
							 | 
						||
| 
								 | 
							
								expression E;
							 | 
						||
| 
								 | 
							
								@@
							 | 
						||
| 
								 | 
							
								struct of_device_id arr[] = {
							 | 
						||
| 
								 | 
							
									...,
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
									.var = E,
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									@p1
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@script:python depends on org@
							 | 
						||
| 
								 | 
							
								p1 << r.p1;
							 | 
						||
| 
								 | 
							
								arr << r.arr;
							 | 
						||
| 
								 | 
							
								@@
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cocci.print_main(arr,p1)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@script:python depends on report@
							 | 
						||
| 
								 | 
							
								p1 << r.p1;
							 | 
						||
| 
								 | 
							
								arr << r.arr;
							 | 
						||
| 
								 | 
							
								@@
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								msg = "%s is not NULL terminated at line %s" % (arr, p1[0].line)
							 | 
						||
| 
								 | 
							
								coccilib.report.print_report(p1[0],msg)
							 |