pmc_common: Preset uninitialized 'iface.ts_label' with 'iface.name'
pmc_create() calls transport_create(), which sets the open function
for the interface 'iface' to raw_open(), if Layer 2 is used. The
immediate following call of transport_open() calls raw_open(), which
uses the field .ts_label for opening, instead of the field .name
(which is used in the other transport layers). Therefore, the
field .name is copied here into the field .ts_label .
[ RC - Actually ts_label should always be initialized. Made the
       assignment of ts_label unconditional, regardless of the choice
       of transport layer. ]
Signed-off-by: Peter Schneider <peter@psch.de>
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
			
			
This commit is contained in:
		
							parent
							
								
									f9db6855fd
								
							
						
					
					
						commit
						ea9dda30e2
					
				| @ -93,6 +93,10 @@ struct pmc *pmc_create(struct config *cfg, enum transport_type transport_type, | |||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	strncpy(iface.name, iface_name, MAX_IFNAME_SIZE); | 	strncpy(iface.name, iface_name, MAX_IFNAME_SIZE); | ||||||
|  | 	if (iface.ts_label[0] == '\0') { | ||||||
|  | 		strncpy(iface.ts_label, iface.name, MAX_IFNAME_SIZE); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	if (transport_open(pmc->transport, &iface, | 	if (transport_open(pmc->transport, &iface, | ||||||
| 			   &pmc->fdarray, TS_SOFTWARE)) { | 			   &pmc->fdarray, TS_SOFTWARE)) { | ||||||
| 		pr_err("failed to open transport"); | 		pr_err("failed to open transport"); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user