mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Fix multiple uses of variable 'L' in _Py_dg_strtod, where one use requires an unsigned long and the other a signed long. See also r77421.
This commit is contained in:
		
							parent
							
								
									811ff822f8
								
							
						
					
					
						commit
						18a818bc63
					
				
					 1 changed files with 6 additions and 5 deletions
				
			
		|  | @ -1345,7 +1345,8 @@ _Py_dg_strtod(const char *s00, char **se) | |||
|     const char *s, *s0, *s1; | ||||
|     double aadj, aadj1; | ||||
|     U aadj2, adj, rv, rv0; | ||||
|     ULong y, z, L; | ||||
|     ULong y, z, abse; | ||||
|     Long L; | ||||
|     BCinfo bc; | ||||
|     Bigint *bb, *bb1, *bd, *bd0, *bs, *delta; | ||||
| 
 | ||||
|  | @ -1425,17 +1426,17 @@ _Py_dg_strtod(const char *s00, char **se) | |||
|             while(c == '0') | ||||
|                 c = *++s; | ||||
|             if (c > '0' && c <= '9') { | ||||
|                 L = c - '0'; | ||||
|                 abse = c - '0'; | ||||
|                 s1 = s; | ||||
|                 while((c = *++s) >= '0' && c <= '9') | ||||
|                     L = 10*L + c - '0'; | ||||
|                 if (s - s1 > 8 || L > MAX_ABS_EXP) | ||||
|                     abse = 10*abse + c - '0'; | ||||
|                 if (s - s1 > 8 || abse > MAX_ABS_EXP) | ||||
|                     /* Avoid confusion from exponents
 | ||||
|                      * so large that e might overflow. | ||||
|                      */ | ||||
|                     e = (int)MAX_ABS_EXP; /* safe for 16 bit ints */ | ||||
|                 else | ||||
|                     e = (int)L; | ||||
|                     e = (int)abse; | ||||
|                 if (esign) | ||||
|                     e = -e; | ||||
|             } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Mark Dickinson
						Mark Dickinson