(!1967) dix: touch: NULL-protection in TouchAddRegularListener()
protect against the (unlikely) case that inputMasks == NULL.
| ../dix/touch.c: In function ‘TouchAddRegularListener’:
| ../include/list.h:376:21: warning: dereference of NULL ‘0’ [CWE-476] [-Wanalyzer-null-dereference]
|   376 |         for (_entry = _list; _entry; _entry = (_entry)->_member)
| ../dix/touch.c:766:9: note: in expansion of macro ‘nt_list_for_each_entry’
|   766 |         nt_list_for_each_entry(iclients, inputMasks->inputClients, next) {
|       |         ^~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
			
			
This commit is contained in:
		
							parent
							
								
									8ab10dd316
								
							
						
					
					
						commit
						6d22e94cb4
					
				| 
						 | 
					@ -760,7 +760,7 @@ TouchAddRegularListener(DeviceIntPtr dev, TouchPointInfoPtr ti,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    inputMasks = wOtherInputMasks(win);
 | 
					    inputMasks = wOtherInputMasks(win);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (mask & EVENT_XI2_MASK) {
 | 
					    if ((mask & EVENT_XI2_MASK) && (inputMasks != NULL)) {
 | 
				
			||||||
        nt_list_for_each_entry(iclients, inputMasks->inputClients, next) {
 | 
					        nt_list_for_each_entry(iclients, inputMasks->inputClients, next) {
 | 
				
			||||||
            if (!xi2mask_isset(iclients->xi2mask, dev, evtype))
 | 
					            if (!xi2mask_isset(iclients->xi2mask, dev, evtype))
 | 
				
			||||||
                continue;
 | 
					                continue;
 | 
				
			||||||
| 
						 | 
					@ -774,7 +774,7 @@ TouchAddRegularListener(DeviceIntPtr dev, TouchPointInfoPtr ti,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (mask & EVENT_XI1_MASK) {
 | 
					    if ((mask & EVENT_XI1_MASK) && (inputMasks != NULL)) {
 | 
				
			||||||
        int xitype = GetXIType(TouchGetPointerEventType(ev));
 | 
					        int xitype = GetXIType(TouchGetPointerEventType(ev));
 | 
				
			||||||
        Mask xi_filter = event_get_filter_from_type(dev, xitype);
 | 
					        Mask xi_filter = event_get_filter_from_type(dev, xitype);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue