[Python-checkins] CVS: python/dist/src/Python compile.c,2.231,2.232
Barry Warsaw
bwarsaw@users.sourceforge.net
Wed, 28 Nov 2001 13:10:43 -0800
Update of /cvsroot/python/python/dist/src/Python
In directory usw-pr-cvs1:/tmp/cvs-serv18695
Modified Files:
compile.c
Log Message:
code_repr(), com_addop_varname(), com_list_comprehension(),
com_arglist(), symtable_check_unoptimized(), symtable_params(),
symtable_global(), symtable_list_comprehension():
Conversion of sprintf() to PyOS_snprintf() for buffer overrun
avoidance.
Index: compile.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/compile.c,v
retrieving revision 2.231
retrieving revision 2.232
diff -C2 -d -r2.231 -r2.232
*** compile.c 2001/11/28 11:47:00 2.231
--- compile.c 2001/11/28 21:10:39 2.232
***************
*** 121,126 ****
if (co->co_name && PyString_Check(co->co_name))
name = PyString_AS_STRING(co->co_name);
! sprintf(buf, "<code object %.100s at %p, file \"%.300s\", line %d>",
! name, co, filename, lineno);
return PyString_FromString(buf);
}
--- 121,127 ----
if (co->co_name && PyString_Check(co->co_name))
name = PyString_AS_STRING(co->co_name);
! PyOS_snprintf(buf, sizeof(buf),
! "<code object %.100s at %p, file \"%.300s\", line %d>",
! name, co, filename, lineno);
return PyString_FromString(buf);
}
***************
*** 1021,1025 ****
case NAME_CLOSURE: {
char buf[500];
! sprintf(buf, DEL_CLOSURE_ERROR, name);
com_error(c, PyExc_SyntaxError, buf);
i = 255;
--- 1022,1027 ----
case NAME_CLOSURE: {
char buf[500];
! PyOS_snprintf(buf, sizeof(buf),
! DEL_CLOSURE_ERROR, name);
com_error(c, PyExc_SyntaxError, buf);
i = 255;
***************
*** 1367,1372 ****
{
/* listmaker: test list_for */
! char tmpname[12];
! sprintf(tmpname, "_[%d]", ++c->c_tmpname);
com_addoparg(c, BUILD_LIST, 0);
com_addbyte(c, DUP_TOP); /* leave the result on the stack */
--- 1369,1374 ----
{
/* listmaker: test list_for */
! char tmpname[30];
! PyOS_snprintf(tmpname, sizeof(tmpname), "_[%d]", ++c->c_tmpname);
com_addoparg(c, BUILD_LIST, 0);
com_addbyte(c, DUP_TOP); /* leave the result on the stack */
***************
*** 3790,3794 ****
int nch, i, narg;
int complex = 0;
! char nbuf[10];
REQ(n, varargslist);
/* varargslist:
--- 3792,3796 ----
int nch, i, narg;
int complex = 0;
! char nbuf[30];
REQ(n, varargslist);
/* varargslist:
***************
*** 3804,3808 ****
fp = CHILD(ch, 0);
if (TYPE(fp) != NAME) {
! sprintf(nbuf, ".%d", i);
complex = 1;
}
--- 3806,3810 ----
fp = CHILD(ch, 0);
if (TYPE(fp) != NAME) {
! PyOS_snprintf(nbuf, sizeof(nbuf), ".%d", i);
complex = 1;
}
***************
*** 4456,4484 ****
if (ste->ste_child_free) {
if (ste->ste_optimized == OPT_IMPORT_STAR)
! sprintf(buf, ILLEGAL_IMPORT_STAR,
! PyString_AS_STRING(ste->ste_name),
! ILLEGAL_CONTAINS);
else if (ste->ste_optimized == (OPT_BARE_EXEC | OPT_EXEC))
! sprintf(buf, ILLEGAL_BARE_EXEC,
! PyString_AS_STRING(ste->ste_name),
! ILLEGAL_CONTAINS);
else {
! sprintf(buf, ILLEGAL_EXEC_AND_IMPORT_STAR,
! PyString_AS_STRING(ste->ste_name),
! ILLEGAL_CONTAINS);
}
} else {
if (ste->ste_optimized == OPT_IMPORT_STAR)
! sprintf(buf, ILLEGAL_IMPORT_STAR,
! PyString_AS_STRING(ste->ste_name),
! ILLEGAL_IS);
else if (ste->ste_optimized == (OPT_BARE_EXEC | OPT_EXEC))
! sprintf(buf, ILLEGAL_BARE_EXEC,
! PyString_AS_STRING(ste->ste_name),
! ILLEGAL_IS);
else {
! sprintf(buf, ILLEGAL_EXEC_AND_IMPORT_STAR,
! PyString_AS_STRING(ste->ste_name),
! ILLEGAL_IS);
}
}
--- 4458,4492 ----
if (ste->ste_child_free) {
if (ste->ste_optimized == OPT_IMPORT_STAR)
! PyOS_snprintf(buf, sizeof(buf),
! ILLEGAL_IMPORT_STAR,
! PyString_AS_STRING(ste->ste_name),
! ILLEGAL_CONTAINS);
else if (ste->ste_optimized == (OPT_BARE_EXEC | OPT_EXEC))
! PyOS_snprintf(buf, sizeof(buf),
! ILLEGAL_BARE_EXEC,
! PyString_AS_STRING(ste->ste_name),
! ILLEGAL_CONTAINS);
else {
! PyOS_snprintf(buf, sizeof(buf),
! ILLEGAL_EXEC_AND_IMPORT_STAR,
! PyString_AS_STRING(ste->ste_name),
! ILLEGAL_CONTAINS);
}
} else {
if (ste->ste_optimized == OPT_IMPORT_STAR)
! PyOS_snprintf(buf, sizeof(buf),
! ILLEGAL_IMPORT_STAR,
! PyString_AS_STRING(ste->ste_name),
! ILLEGAL_IS);
else if (ste->ste_optimized == (OPT_BARE_EXEC | OPT_EXEC))
! PyOS_snprintf(buf, sizeof(buf),
! ILLEGAL_BARE_EXEC,
! PyString_AS_STRING(ste->ste_name),
! ILLEGAL_IS);
else {
! PyOS_snprintf(buf, sizeof(buf),
! ILLEGAL_EXEC_AND_IMPORT_STAR,
! PyString_AS_STRING(ste->ste_name),
! ILLEGAL_IS);
}
}
***************
*** 5232,5237 ****
symtable_add_def(st, STR(CHILD(c, 0)), DEF_PARAM);
else {
! char nbuf[10];
! sprintf(nbuf, ".%d", i);
symtable_add_def(st, nbuf, DEF_PARAM);
complex = i;
--- 5240,5245 ----
symtable_add_def(st, STR(CHILD(c, 0)), DEF_PARAM);
else {
! char nbuf[30];
! PyOS_snprintf(nbuf, sizeof(nbuf), ".%d", i);
symtable_add_def(st, nbuf, DEF_PARAM);
complex = i;
***************
*** 5319,5326 ****
else {
if (flags & DEF_LOCAL)
! sprintf(buf, GLOBAL_AFTER_ASSIGN,
! name);
else
! sprintf(buf, GLOBAL_AFTER_USE, name);
symtable_warn(st, buf);
}
--- 5327,5336 ----
else {
if (flags & DEF_LOCAL)
! PyOS_snprintf(buf, sizeof(buf),
! GLOBAL_AFTER_ASSIGN,
! name);
else
! PyOS_snprintf(buf, sizeof(buf),
! GLOBAL_AFTER_USE, name);
symtable_warn(st, buf);
}
***************
*** 5333,5339 ****
symtable_list_comprehension(struct symtable *st, node *n)
{
! char tmpname[12];
! sprintf(tmpname, "_[%d]", st->st_tmpname);
symtable_add_def(st, tmpname, DEF_LOCAL);
symtable_assign(st, CHILD(n, 1), 0);
--- 5343,5349 ----
symtable_list_comprehension(struct symtable *st, node *n)
{
! char tmpname[30];
! PyOS_snprintf(tmpname, sizeof(tmpname), "_[%d]", st->st_tmpname);
symtable_add_def(st, tmpname, DEF_LOCAL);
symtable_assign(st, CHILD(n, 1), 0);