[Python-checkins] CVS: python/dist/src/Python compile.c,2.142.2.1,2.142.2.2

Moshe Zadka moshez@users.sourceforge.net
2001年3月30日 10:50:25 -0800


Update of /cvsroot/python/python/dist/src/Python
In directory usw-pr-cvs1:/tmp/cvs-serv17116/Python
Modified Files:
 Tag: release20-maint
	compile.c 
Log Message:
Fix memory leak with from import ...
Index: compile.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/compile.c,v
retrieving revision 2.142.2.1
retrieving revision 2.142.2.2
diff -C2 -r2.142.2.1 -r2.142.2.2
*** compile.c	2001年03月30日 16:31:49	2.142.2.1
--- compile.c	2001年03月30日 18:50:23	2.142.2.2
***************
*** 2326,2334 ****
 {
 	int i;
- 	PyObject *tup;
 	REQ(n, import_stmt);
 	/* 'import' dotted_name (',' dotted_name)* |
 	 'from' dotted_name 'import' ('*' | NAME (',' NAME)*) */
 	if (STR(CHILD(n, 0))[0] == 'f') {
 		/* 'from' dotted_name 'import' ... */
 		REQ(CHILD(n, 1), dotted_name);
--- 2326,2334 ----
 {
 	int i;
 	REQ(n, import_stmt);
 	/* 'import' dotted_name (',' dotted_name)* |
 	 'from' dotted_name 'import' ('*' | NAME (',' NAME)*) */
 	if (STR(CHILD(n, 0))[0] == 'f') {
+ 		PyObject *tup;
 		/* 'from' dotted_name 'import' ... */
 		REQ(CHILD(n, 1), dotted_name);
***************
*** 2345,2348 ****
--- 2345,2349 ----
 		}
 		com_addoparg(c, LOAD_CONST, com_addconst(c, tup));
+ 		Py_DECREF(tup);
 		com_push(c, 1);
 		com_addopname(c, IMPORT_NAME, CHILD(n, 1));

AltStyle によって変換されたページ (->オリジナル) /