Clarify detour creation errors (#1191)
A logic error here meant that it wasn't printing the failing sig name in the common case
This commit is contained in:
		
							parent
							
								
									a3dd25f354
								
							
						
					
					
						commit
						4d38f11367
					
				| @ -8,7 +8,7 @@ | |||||||
| * This program is free software; you can redistribute it and/or modify it under | * This program is free software; you can redistribute it and/or modify it under | ||||||
| * the terms of the GNU General Public License, version 3.0, as published by the | * the terms of the GNU General Public License, version 3.0, as published by the | ||||||
| * Free Software Foundation. | * Free Software Foundation. | ||||||
| *  | * | ||||||
| * This program is distributed in the hope that it will be useful, but WITHOUT | * This program is distributed in the hope that it will be useful, but WITHOUT | ||||||
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||||||
| * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more | * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more | ||||||
| @ -182,20 +182,23 @@ bool CDetour::IsEnabled() | |||||||
| 
 | 
 | ||||||
| bool CDetour::CreateDetour() | bool CDetour::CreateDetour() | ||||||
| { | { | ||||||
| 	if (signame && !gameconf->GetMemSig(signame, &detour_address)) | 	if (signame) | ||||||
| 	{ | 	{ | ||||||
| 		g_pSM->LogError(myself, "Could not locate %s - Disabling detour", signame); | 		if (!gameconf->GetMemSig(signame, &detour_address)) | ||||||
| 		return false; | 		{ | ||||||
| 	} | 			g_pSM->LogError(myself, "Signature for %s not found in gamedata", signame); | ||||||
| 	else if(!detour_address) | 			return false; | ||||||
| 	{ | 		} | ||||||
| 		g_pSM->LogError(myself, "Invalid detour address passed - Disabling detour to prevent crashes"); |  | ||||||
| 		return false; |  | ||||||
| 	} |  | ||||||
| 
 | 
 | ||||||
| 	if (!detour_address) | 		if (!detour_address) | ||||||
|  | 		{ | ||||||
|  | 			g_pSM->LogError(myself, "Sigscan for %s failed", signame); | ||||||
|  | 			return false; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	else if (!detour_address) | ||||||
| 	{ | 	{ | ||||||
| 		g_pSM->LogError(myself, "Sigscan for %s failed - Disabling detour to prevent crashes", signame); | 		g_pSM->LogError(myself, "Invalid function address passed for detour"); | ||||||
| 		return false; | 		return false; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| @ -209,7 +212,7 @@ bool CDetour::CreateDetour() | |||||||
| 	JitWriter wr; | 	JitWriter wr; | ||||||
| 	JitWriter *jit = ≀ | 	JitWriter *jit = ≀ | ||||||
| 	jit_uint32_t CodeSize = 0; | 	jit_uint32_t CodeSize = 0; | ||||||
| 	 | 
 | ||||||
| 	wr.outbase = NULL; | 	wr.outbase = NULL; | ||||||
| 	wr.outptr = NULL; | 	wr.outptr = NULL; | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user