mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Fix PR117. The error message is "keywords must be strings". Perhaps
not as descriptive as what Barry suggests, but this also catches the (in my opinion important) case where some other C code besides apply() constructs a kwdict that doesn't have the right format. All the other possibilities of getting it wrong (non-dict, wrong keywords etc) are already caught so this makes sense to check here.
This commit is contained in:
		
							parent
							
								
									e1ada50559
								
							
						
					
					
						commit
						25da5bebd8
					
				
					 1 changed files with 5 additions and 0 deletions
				
			
		|  | @ -482,6 +482,11 @@ eval_code2(co, globals, locals, | |||
| 			PyObject *keyword = kws[2*i]; | ||||
| 			PyObject *value = kws[2*i + 1]; | ||||
| 			int j; | ||||
| 			if (keyword == NULL || !PyString_Check(keyword)) { | ||||
| 				PyErr_SetString(PyExc_TypeError, | ||||
| 						"keywords must be strings"); | ||||
| 				goto fail; | ||||
| 			} | ||||
| 			/* XXX slow -- speed up using dictionary? */ | ||||
| 			for (j = 0; j < co->co_argcount; j++) { | ||||
| 				PyObject *nm = PyTuple_GET_ITEM( | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Guido van Rossum
						Guido van Rossum