[Python-checkins] python/dist/src/Python ast.c,1.1.2.38,1.1.2.39
nnorwitz at users.sourceforge.net
nnorwitz at users.sourceforge.net
Mon Dec 29 17:11:35 EST 2003
Update of /cvsroot/python/python/dist/src/Python
In directory sc8-pr-cvs1:/tmp/cvs-serv24258/Python
Modified Files:
Tag: ast-branch
ast.c
Log Message:
try to plug some memory leaks and doc places that may need fixes
Index: ast.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/Attic/ast.c,v
retrieving revision 1.1.2.38
retrieving revision 1.1.2.39
diff -C2 -d -r1.1.2.38 -r1.1.2.39
*** ast.c 29 Dec 2003 03:48:11 -0000 1.1.2.38
--- ast.c 29 Dec 2003 22:11:32 -0000 1.1.2.39
***************
*** 652,656 ****
listcomps = asdl_seq_new(n_fors);
if (!listcomps) {
! /* XXX free elt? */
return NULL;
}
--- 652,656 ----
listcomps = asdl_seq_new(n_fors);
if (!listcomps) {
! /* XXX free(elt); */
return NULL;
}
***************
*** 667,670 ****
--- 667,671 ----
if (!t) {
asdl_seq_free(listcomps);
+ /* XXX free(elt); */
return NULL;
}
***************
*** 672,675 ****
--- 673,677 ----
if (!expression) {
asdl_seq_free(listcomps);
+ /* XXX free(elt); */
return NULL;
}
***************
*** 682,685 ****
--- 684,688 ----
if (!c) {
asdl_seq_free(listcomps);
+ /* XXX free(elt); */
return NULL;
}
***************
*** 693,696 ****
--- 696,700 ----
if (n_ifs == -1) {
asdl_seq_free(listcomps);
+ /* XXX free(elt); */
return NULL;
}
***************
*** 698,703 ****
ifs = asdl_seq_new(n_ifs);
if (!ifs) {
- /* XXX free elt? */
asdl_seq_free(listcomps);
return NULL;
}
--- 702,707 ----
ifs = asdl_seq_new(n_ifs);
if (!ifs) {
asdl_seq_free(listcomps);
+ /* XXX free(elt); */
return NULL;
}
***************
*** 1087,1092 ****
if (TYPE(CHILD(n, NCH(n) - 1)) == factor) {
expr_ty f = ast_for_expr(CHILD(n, NCH(n) - 1));
! if (!f)
return NULL;
return BinOp(e, Pow, f);
}
--- 1091,1098 ----
if (TYPE(CHILD(n, NCH(n) - 1)) == factor) {
expr_ty f = ast_for_expr(CHILD(n, NCH(n) - 1));
! if (!f) {
! /* XXX free(e); */
return NULL;
+ }
return BinOp(e, Pow, f);
}
***************
*** 1100,1105 ****
new = ast_for_call(CHILD(ch, 1), new);
! if (!new)
return NULL;
}
else if (TYPE(CHILD(ch, 0)) == LSQB) {
--- 1106,1113 ----
new = ast_for_call(CHILD(ch, 1), new);
! if (!new) {
! /* XXX free(e); */
return NULL;
+ }
}
else if (TYPE(CHILD(ch, 0)) == LSQB) {
***************
*** 1108,1117 ****
if (NCH(ch) <= 2) {
slice_ty slc = ast_for_slice(CHILD(ch, 0));
! if (!slc)
return NULL;
new = Subscript(e, slc, Load);
! if (!new)
return NULL;
}
else {
--- 1116,1130 ----
if (NCH(ch) <= 2) {
slice_ty slc = ast_for_slice(CHILD(ch, 0));
! if (!slc) {
! /* XXX free(e); */
return NULL;
+ }
new = Subscript(e, slc, Load);
! if (!new) {
! /* XXX free(e); */
! /* XXX free(slc); */
return NULL;
+ }
}
else {
***************
*** 1119,1134 ****
slice_ty slc;
asdl_seq *slices = asdl_seq_new(NCH(ch) / 2);
! if (!slices)
return NULL;
for (j = 0; j < NCH(ch); j += 2) {
slc = ast_for_slice(CHILD(ch, j));
! if (!slc)
return NULL;
asdl_seq_SET(slices, j / 2, slc);
}
new = Subscript(e, ExtSlice(slices), Load);
! if (!new)
return NULL;
}
}
--- 1132,1155 ----
slice_ty slc;
asdl_seq *slices = asdl_seq_new(NCH(ch) / 2);
! if (!slices) {
! /* XXX free(e); */
return NULL;
+ }
for (j = 0; j < NCH(ch); j += 2) {
slc = ast_for_slice(CHILD(ch, j));
! if (!slc) {
! /* XXX free(e); */
! asdl_seq_free(slices);
return NULL;
+ }
asdl_seq_SET(slices, j / 2, slc);
}
new = Subscript(e, ExtSlice(slices), Load);
! if (!new) {
! /* XXX free(e); */
! asdl_seq_free(slices);
return NULL;
+ }
}
}
***************
*** 1136,1141 ****
assert(TYPE(CHILD(ch, 0)) == DOT);
new = Attribute(e, NEW_IDENTIFIER(CHILD(ch, 1)), Load);
! if (!new)
return NULL;
}
e = new;
--- 1157,1164 ----
assert(TYPE(CHILD(ch, 0)) == DOT);
new = Attribute(e, NEW_IDENTIFIER(CHILD(ch, 1)), Load);
! if (!new) {
! /* XXX free(e); */
return NULL;
+ }
}
e = new;
***************
*** 1343,1348 ****
for (i = start; i < NCH(n); i += 2) {
expression = ast_for_expr(CHILD(n, i));
! if (!expression)
return NULL;
asdl_seq_APPEND(seq, expression);
--- 1366,1373 ----
for (i = start; i < NCH(n); i += 2) {
expression = ast_for_expr(CHILD(n, i));
! if (!expression) {
! asdl_seq_free(seq);
return NULL;
+ }
asdl_seq_APPEND(seq, expression);
***************
*** 2090,2095 ****
}
s = ast_for_suite(CHILD(n, 6));
! if (!s)
return NULL;
return ClassDef(NEW_IDENTIFIER(CHILD(n, 1)), bases, s, LINENO(n));
}
--- 2115,2122 ----
}
s = ast_for_suite(CHILD(n, 6));
! if (!s) {
! asdl_seq_free(bases); /* XXX is this right for Tuples??? */
return NULL;
+ }
return ClassDef(NEW_IDENTIFIER(CHILD(n, 1)), bases, s, LINENO(n));
}
More information about the Python-checkins
mailing list