mirror of
				https://github.com/python/cpython.git
				synced 2025-10-25 02:43:41 +00:00 
			
		
		
		
	Issue #22207: Fix "comparison between signed and unsigned integers" warning in
test checking for integer overflow on Py_ssize_t type: cast explicitly to size_t.
This commit is contained in:
		
							parent
							
								
									daca3d7e9b
								
							
						
					
					
						commit
						049e509a9f
					
				
					 8 changed files with 21 additions and 19 deletions
				
			
		|  | @ -5,21 +5,21 @@ asdl_seq * | |||
| _Py_asdl_seq_new(Py_ssize_t size, PyArena *arena) | ||||
| { | ||||
|     asdl_seq *seq = NULL; | ||||
|     size_t n = (size ? (sizeof(void *) * (size - 1)) : 0); | ||||
|     size_t n; | ||||
| 
 | ||||
|     /* check size is sane */ | ||||
|     if (size < 0 || size == INT_MIN || | ||||
|         (size && ((size - 1) > (PY_SIZE_MAX / sizeof(void *))))) { | ||||
|     if (size < 0 || | ||||
|         (size && (((size_t)size - 1) > (PY_SIZE_MAX / sizeof(void *))))) { | ||||
|         PyErr_NoMemory(); | ||||
|         return NULL; | ||||
|     } | ||||
|     n = (size ? (sizeof(void *) * (size - 1)) : 0); | ||||
| 
 | ||||
|     /* check if size can be added safely */ | ||||
|     if (n > PY_SIZE_MAX - sizeof(asdl_seq)) { | ||||
|         PyErr_NoMemory(); | ||||
|         return NULL; | ||||
|     } | ||||
| 
 | ||||
|     n += sizeof(asdl_seq); | ||||
| 
 | ||||
|     seq = (asdl_seq *)PyArena_Malloc(arena, n); | ||||
|  | @ -36,21 +36,21 @@ asdl_int_seq * | |||
| _Py_asdl_int_seq_new(Py_ssize_t size, PyArena *arena) | ||||
| { | ||||
|     asdl_int_seq *seq = NULL; | ||||
|     size_t n = (size ? (sizeof(void *) * (size - 1)) : 0); | ||||
|     size_t n; | ||||
| 
 | ||||
|     /* check size is sane */ | ||||
|     if (size < 0 || size == INT_MIN || | ||||
|         (size && ((size - 1) > (PY_SIZE_MAX / sizeof(void *))))) { | ||||
|     if (size < 0 || | ||||
|         (size && (((size_t)size - 1) > (PY_SIZE_MAX / sizeof(void *))))) { | ||||
|             PyErr_NoMemory(); | ||||
|             return NULL; | ||||
|     } | ||||
|     n = (size ? (sizeof(void *) * (size - 1)) : 0); | ||||
| 
 | ||||
|     /* check if size can be added safely */ | ||||
|     if (n > PY_SIZE_MAX - sizeof(asdl_seq)) { | ||||
|         PyErr_NoMemory(); | ||||
|         return NULL; | ||||
|     } | ||||
| 
 | ||||
|     n += sizeof(asdl_seq); | ||||
| 
 | ||||
|     seq = (asdl_int_seq *)PyArena_Malloc(arena, n); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Victor Stinner
						Victor Stinner