mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Fix SF bug #1519018: 'as' is now validated properly in import statements
This commit is contained in:
		
							parent
							
								
									b6b175229b
								
							
						
					
					
						commit
						fb48afa708
					
				
					 3 changed files with 18 additions and 1 deletions
				
			
		
							
								
								
									
										13
									
								
								Python/ast.c
									
										
									
									
									
								
							
							
						
						
									
										13
									
								
								Python/ast.c
									
										
									
									
									
								
							|  | @ -2142,7 +2142,14 @@ alias_for_import_name(struct compiling *c, const node *n) | |||
|  loop: | ||||
|     switch (TYPE(n)) { | ||||
|         case import_as_name: | ||||
|             str = (NCH(n) == 3) ? NEW_IDENTIFIER(CHILD(n, 2)) : NULL; | ||||
|             str = NULL; | ||||
|             if (NCH(n) == 3) { | ||||
|                 if (strcmp(STR(CHILD(n, 1)), "as") != 0) { | ||||
|                     ast_error(n, "must use 'as' in import"); | ||||
|                     return NULL; | ||||
|                 } | ||||
|                 str = NEW_IDENTIFIER(CHILD(n, 2)); | ||||
|             } | ||||
|             return alias(NEW_IDENTIFIER(CHILD(n, 0)), str, c->c_arena); | ||||
|         case dotted_as_name: | ||||
|             if (NCH(n) == 1) { | ||||
|  | @ -2151,6 +2158,10 @@ alias_for_import_name(struct compiling *c, const node *n) | |||
|             } | ||||
|             else { | ||||
|                 alias_ty a = alias_for_import_name(c, CHILD(n, 0)); | ||||
|                 if (strcmp(STR(CHILD(n, 1)), "as") != 0) { | ||||
|                     ast_error(n, "must use 'as' in import"); | ||||
|                     return NULL; | ||||
|                 } | ||||
|                 assert(!a->asname); | ||||
|                 a->asname = NEW_IDENTIFIER(CHILD(n, 2)); | ||||
|                 return a; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Neal Norwitz
						Neal Norwitz