diff options
author | Neal Norwitz <nnorwitz@gmail.com> | 2006-08-12 01:43:40 (GMT) |
---|---|---|
committer | Neal Norwitz <nnorwitz@gmail.com> | 2006-08-12 01:43:40 (GMT) |
commit | 6f5ff3f3eb7abc2f4750c1319b560f67faf546ac (patch) | |
tree | 1b84bed27afcf3a62f50a2a2a6dabe162327866a /Python | |
parent | 2a899c8b767144e809418fd04f83e4e5789084cd (diff) | |
download | cpython-6f5ff3f3eb7abc2f4750c1319b560f67faf546ac.zip cpython-6f5ff3f3eb7abc2f4750c1319b560f67faf546ac.tar.gz cpython-6f5ff3f3eb7abc2f4750c1319b560f67faf546ac.tar.bz2 |
Klocwork made another run and found a bunch more problems.
This is the first batch of fixes that should be easy to verify based on context.
This fixes problem numbers: 220 (ast), 323-324 (symtable),
321-322 (structseq), 215 (array), 210 (hotshot), 182 (codecs), 209 (etree).
Diffstat (limited to 'Python')
-rw-r--r-- | Python/ast.c | 2 | ||||
-rw-r--r-- | Python/symtable.c | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/Python/ast.c b/Python/ast.c index ca832aa..b356192 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -2197,6 +2197,8 @@ alias_for_import_name(struct compiling *c, const node *n) } else { alias_ty a = alias_for_import_name(c, CHILD(n, 0)); + if (!a) + return NULL; if (strcmp(STR(CHILD(n, 1)), "as") != 0) { ast_error(n, "must use 'as' in import"); return NULL; diff --git a/Python/symtable.c b/Python/symtable.c index 439a243..3e58b50 100644 --- a/Python/symtable.c +++ b/Python/symtable.c @@ -915,6 +915,8 @@ symtable_new_tmpname(struct symtable *st) PyOS_snprintf(tmpname, sizeof(tmpname), "_[%d]", ++st->st_cur->ste_tmpname); tmp = PyString_InternFromString(tmpname); + if (!tmp) + return 0; if (!symtable_add_def(st, tmp, DEF_LOCAL)) return 0; Py_DECREF(tmp); @@ -1323,8 +1325,11 @@ symtable_visit_alias(struct symtable *st, alias_ty a) PyObject *name = (a->asname == NULL) ? a->name : a->asname; const char *base = PyString_AS_STRING(name); char *dot = strchr(base, '.'); - if (dot) + if (dot) { store_name = PyString_FromStringAndSize(base, dot - base); + if (!store_name) + return 0; + } else { store_name = name; Py_INCREF(store_name); |