Xi: require a pointer and keyboard device for XIAttachToMaster
If we remove a master device and specify which other master devices attached slaves should be returned to, enforce that those two are indeeed a pointer and a keyboard. Otherwise we can try to attach the keyboards to pointers and vice versa, leading to possible crashes later.
This commit is contained in:
		
							parent
							
								
									f59871587e
								
							
						
					
					
						commit
						37539cb0bf
					
				| 
						 | 
					@ -270,7 +270,7 @@ remove_master(ClientPtr client, xXIRemoveMasterInfo * r, int flags[MAXDEVICES])
 | 
				
			||||||
        if (rc != Success)
 | 
					        if (rc != Success)
 | 
				
			||||||
            goto unwind;
 | 
					            goto unwind;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (!IsMaster(newptr)) {
 | 
					        if (!IsMaster(newptr) || !IsPointerDevice(newptr)) {
 | 
				
			||||||
            client->errorValue = r->return_pointer;
 | 
					            client->errorValue = r->return_pointer;
 | 
				
			||||||
            rc = BadDevice;
 | 
					            rc = BadDevice;
 | 
				
			||||||
            goto unwind;
 | 
					            goto unwind;
 | 
				
			||||||
| 
						 | 
					@ -281,7 +281,7 @@ remove_master(ClientPtr client, xXIRemoveMasterInfo * r, int flags[MAXDEVICES])
 | 
				
			||||||
        if (rc != Success)
 | 
					        if (rc != Success)
 | 
				
			||||||
            goto unwind;
 | 
					            goto unwind;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (!IsMaster(newkeybd)) {
 | 
					        if (!IsMaster(newkeybd) || !IsKeyboardDevice(newkeybd)) {
 | 
				
			||||||
            client->errorValue = r->return_keyboard;
 | 
					            client->errorValue = r->return_keyboard;
 | 
				
			||||||
            rc = BadDevice;
 | 
					            rc = BadDevice;
 | 
				
			||||||
            goto unwind;
 | 
					            goto unwind;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue