mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	Issue #3642: Suppress warning in obmalloc when size_t is
larger than uint. Reverts r65975. Reviewed by Brett Cannon.
This commit is contained in:
		
							parent
							
								
									84076d8a11
								
							
						
					
					
						commit
						9fa5a2828c
					
				
					 2 changed files with 5 additions and 4 deletions
				
			
		| 
						 | 
					@ -12,6 +12,8 @@ What's New in Python 2.6 release candidate 1?
 | 
				
			||||||
Core and Builtins
 | 
					Core and Builtins
 | 
				
			||||||
-----------------
 | 
					-----------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Issue #3642: Suppress warning in obmalloc when size_t is larger than uint.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Issue #3743: In a few places, PY_FORMAT_SIZE_T was incorrectly used with
 | 
					- Issue #3743: In a few places, PY_FORMAT_SIZE_T was incorrectly used with
 | 
				
			||||||
  PyString_FromFormat or PyErr_Format to display size_t values. The macro
 | 
					  PyString_FromFormat or PyErr_Format to display size_t values. The macro
 | 
				
			||||||
  PY_FORMAT_SIZE_T is designed to select the correct format for the OS
 | 
					  PY_FORMAT_SIZE_T is designed to select the correct format for the OS
 | 
				
			||||||
| 
						 | 
					@ -52,9 +54,6 @@ Core and Builtins
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Fix problem using wrong name in decimal module reported by pychecker.
 | 
					- Fix problem using wrong name in decimal module reported by pychecker.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Issue #3642: Changed type of numarenas from uint to size_t
 | 
					 | 
				
			||||||
  in order to silence a compilier warning on 64bit OSes.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- Silenced another compiler warning about a used but not defined
 | 
					- Silenced another compiler warning about a used but not defined
 | 
				
			||||||
  function 'stringlib_contains_obj'.
 | 
					  function 'stringlib_contains_obj'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -517,7 +517,7 @@ new_arena(void)
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
	if (unused_arena_objects == NULL) {
 | 
						if (unused_arena_objects == NULL) {
 | 
				
			||||||
		uint i;
 | 
							uint i;
 | 
				
			||||||
		size_t numarenas;
 | 
							uint numarenas;
 | 
				
			||||||
		size_t nbytes;
 | 
							size_t nbytes;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/* Double the number of arena objects on each allocation.
 | 
							/* Double the number of arena objects on each allocation.
 | 
				
			||||||
| 
						 | 
					@ -526,8 +526,10 @@ new_arena(void)
 | 
				
			||||||
		numarenas = maxarenas ? maxarenas << 1 : INITIAL_ARENA_OBJECTS;
 | 
							numarenas = maxarenas ? maxarenas << 1 : INITIAL_ARENA_OBJECTS;
 | 
				
			||||||
		if (numarenas <= maxarenas)
 | 
							if (numarenas <= maxarenas)
 | 
				
			||||||
			return NULL;	/* overflow */
 | 
								return NULL;	/* overflow */
 | 
				
			||||||
 | 
					#if SIZEOF_SIZE_T <= SIZEOF_INT
 | 
				
			||||||
		if (numarenas > PY_SIZE_MAX / sizeof(*arenas))
 | 
							if (numarenas > PY_SIZE_MAX / sizeof(*arenas))
 | 
				
			||||||
			return NULL;	/* overflow */
 | 
								return NULL;	/* overflow */
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
		nbytes = numarenas * sizeof(*arenas);
 | 
							nbytes = numarenas * sizeof(*arenas);
 | 
				
			||||||
		arenaobj = (struct arena_object *)realloc(arenas, nbytes);
 | 
							arenaobj = (struct arena_object *)realloc(arenas, nbytes);
 | 
				
			||||||
		if (arenaobj == NULL)
 | 
							if (arenaobj == NULL)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue