Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
4af5c8ce
Commit
4af5c8ce
authored
Mar 07, 2006
by
Hye-Shik Chang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SF #1444030: Fix several potential defects found by Coverity.
(reviewed by Neal Norwitz)
parent
ef1701f7
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
53 additions
and
17 deletions
+53
-17
Modules/arraymodule.c
Modules/arraymodule.c
+7
-4
Modules/cStringIO.c
Modules/cStringIO.c
+1
-0
Modules/zipimport.c
Modules/zipimport.c
+2
-0
Objects/longobject.c
Objects/longobject.c
+7
-1
Objects/stringobject.c
Objects/stringobject.c
+1
-1
Objects/unicodeobject.c
Objects/unicodeobject.c
+14
-8
Objects/weakrefobject.c
Objects/weakrefobject.c
+8
-1
Parser/firstsets.c
Parser/firstsets.c
+2
-0
Python/ast.c
Python/ast.c
+2
-0
Python/ceval.c
Python/ceval.c
+4
-1
Python/traceback.c
Python/traceback.c
+5
-1
No files found.
Modules/arraymodule.c
View file @
4af5c8ce
...
...
@@ -1852,10 +1852,13 @@ array_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
Py_DECREF
(
v
);
}
}
else
if
(
initial
!=
NULL
&&
PyString_Check
(
initial
))
{
PyObject
*
t_initial
=
PyTuple_Pack
(
1
,
initial
);
PyObject
*
v
=
array_fromstring
((
arrayobject
*
)
a
,
PyObject
*
t_initial
,
*
v
;
t_initial
=
PyTuple_Pack
(
1
,
initial
);
if
(
t_initial
==
NULL
)
{
Py_DECREF
(
a
);
return
NULL
;
}
v
=
array_fromstring
((
arrayobject
*
)
a
,
t_initial
);
Py_DECREF
(
t_initial
);
if
(
v
==
NULL
)
{
...
...
Modules/cStringIO.c
View file @
4af5c8ce
...
...
@@ -544,6 +544,7 @@ newOobject(int size) {
if
(
!
self
->
buf
)
{
PyErr_SetString
(
PyExc_MemoryError
,
"out of memory"
);
self
->
buf_size
=
0
;
Py_DECREF
(
self
);
return
NULL
;
}
...
...
Modules/zipimport.c
View file @
4af5c8ce
...
...
@@ -1167,6 +1167,8 @@ initzipimport(void)
mod
=
Py_InitModule4
(
"zipimport"
,
NULL
,
zipimport_doc
,
NULL
,
PYTHON_API_VERSION
);
if
(
mod
==
NULL
)
return
;
ZipImportError
=
PyErr_NewException
(
"zipimport.ZipImportError"
,
PyExc_ImportError
,
NULL
);
...
...
Objects/longobject.c
View file @
4af5c8ce
...
...
@@ -2809,6 +2809,8 @@ long_bitwise(PyLongObject *a,
if
(
a
->
ob_size
<
0
)
{
a
=
(
PyLongObject
*
)
long_invert
(
a
);
if
(
a
==
NULL
)
return
NULL
;
maska
=
MASK
;
}
else
{
...
...
@@ -2817,6 +2819,10 @@ long_bitwise(PyLongObject *a,
}
if
(
b
->
ob_size
<
0
)
{
b
=
(
PyLongObject
*
)
long_invert
(
b
);
if
(
b
==
NULL
)
{
Py_DECREF
(
a
);
return
NULL
;
}
maskb
=
MASK
;
}
else
{
...
...
@@ -2868,7 +2874,7 @@ long_bitwise(PyLongObject *a,
:
(
maskb
?
size_a
:
MIN
(
size_a
,
size_b
)))
:
MAX
(
size_a
,
size_b
);
z
=
_PyLong_New
(
size_z
);
if
(
a
==
NULL
||
b
==
NULL
||
z
==
NULL
)
{
if
(
z
==
NULL
)
{
Py_XDECREF
(
a
);
Py_XDECREF
(
b
);
Py_XDECREF
(
z
);
...
...
Objects/stringobject.c
View file @
4af5c8ce
...
...
@@ -3276,7 +3276,7 @@ string_splitlines(PyStringObject *self, PyObject *args)
return
list
;
onError:
Py_DECREF
(
list
);
Py_
X
DECREF
(
list
);
return
NULL
;
}
...
...
Objects/unicodeobject.c
View file @
4af5c8ce
...
...
@@ -1876,16 +1876,16 @@ PyObject *PyUnicode_DecodeUnicodeEscape(const char *s,
message
=
"malformed
\\
N character escape"
;
if
(
ucnhash_CAPI
==
NULL
)
{
/* load the unicode data module */
PyObject
*
m
,
*
v
;
PyObject
*
m
,
*
api
;
m
=
PyImport_ImportModule
(
"unicodedata"
);
if
(
m
==
NULL
)
goto
ucnhashError
;
v
=
PyObject_GetAttrString
(
m
,
"ucnhash_CAPI"
);
api
=
PyObject_GetAttrString
(
m
,
"ucnhash_CAPI"
);
Py_DECREF
(
m
);
if
(
v
==
NULL
)
if
(
api
==
NULL
)
goto
ucnhashError
;
ucnhash_CAPI
=
PyCObject_AsVoidPtr
(
v
);
Py_DECREF
(
v
);
ucnhash_CAPI
=
PyCObject_AsVoidPtr
(
api
);
Py_DECREF
(
api
);
if
(
ucnhash_CAPI
==
NULL
)
goto
ucnhashError
;
}
...
...
@@ -1945,6 +1945,7 @@ ucnhashError:
PyExc_UnicodeError
,
"
\\
N escapes not supported (can't load unicodedata module)"
);
Py_XDECREF
(
v
);
Py_XDECREF
(
errorHandler
);
Py_XDECREF
(
exc
);
return
NULL
;
...
...
@@ -3962,7 +3963,7 @@ Py_ssize_t PyUnicode_Tailmatch(PyObject *str,
return
-
1
;
substr
=
PyUnicode_FromObject
(
substr
);
if
(
substr
==
NULL
)
{
Py_DECREF
(
s
ubs
tr
);
Py_DECREF
(
str
);
return
-
1
;
}
...
...
@@ -4429,7 +4430,7 @@ PyObject *PyUnicode_Splitlines(PyObject *string,
return
list
;
onError:
Py_DECREF
(
list
);
Py_
X
DECREF
(
list
);
Py_DECREF
(
string
);
return
NULL
;
}
...
...
@@ -6679,6 +6680,10 @@ formatlong(PyObject *val, int flags, int prec, int type)
if
(
!
str
)
return
NULL
;
result
=
_PyUnicode_New
(
len
);
if
(
!
result
)
{
Py_DECREF
(
str
);
return
NULL
;
}
for
(
i
=
0
;
i
<
len
;
i
++
)
result
->
str
[
i
]
=
buf
[
i
];
result
->
str
[
len
]
=
0
;
...
...
@@ -6865,7 +6870,7 @@ PyObject *PyUnicode_Format(PyObject *format,
rescnt
=
fmtcnt
+
100
;
reslen
+=
rescnt
;
if
(
_PyUnicode_Resize
(
&
result
,
reslen
)
<
0
)
return
NULL
;
goto
onError
;
res
=
PyUnicode_AS_UNICODE
(
result
)
+
reslen
-
rescnt
;
--
rescnt
;
}
...
...
@@ -7163,6 +7168,7 @@ PyObject *PyUnicode_Format(PyObject *format,
rescnt
=
width
+
fmtcnt
+
100
;
reslen
+=
rescnt
;
if
(
reslen
<
0
)
{
Py_XDECREF
(
temp
);
Py_DECREF
(
result
);
return
PyErr_NoMemory
();
}
...
...
Objects/weakrefobject.c
View file @
4af5c8ce
...
...
@@ -903,9 +903,16 @@ PyObject_ClearWeakRefs(PyObject *object)
}
}
else
{
PyObject
*
tuple
=
PyTuple_New
(
count
*
2
)
;
PyObject
*
tuple
;
Py_ssize_t
i
=
0
;
tuple
=
PyTuple_New
(
count
*
2
);
if
(
tuple
==
NULL
)
{
if
(
restore_error
)
PyErr_Fetch
(
&
err_type
,
&
err_value
,
&
err_tb
);
return
;
}
for
(
i
=
0
;
i
<
count
;
++
i
)
{
PyWeakReference
*
next
=
current
->
wr_next
;
...
...
Parser/firstsets.c
View file @
4af5c8ce
...
...
@@ -107,4 +107,6 @@ calcfirstset(grammar *g, dfa *d)
}
printf
(
" }
\n
"
);
}
PyMem_FREE
(
sym
);
}
Python/ast.c
View file @
4af5c8ce
...
...
@@ -1438,6 +1438,8 @@ ast_for_trailer(struct compiling *c, const node *n, expr_ty left_expr)
}
/* extract Index values and put them in a Tuple */
elts
=
asdl_seq_new
(
asdl_seq_LEN
(
slices
),
c
->
c_arena
);
if
(
!
elts
)
return
NULL
;
for
(
j
=
0
;
j
<
asdl_seq_LEN
(
slices
);
++
j
)
{
slc
=
(
slice_ty
)
asdl_seq_GET
(
slices
,
j
);
assert
(
slc
->
kind
==
Index_kind
&&
slc
->
v
.
Index
.
value
);
...
...
Python/ceval.c
View file @
4af5c8ce
...
...
@@ -3477,8 +3477,11 @@ PyEval_CallObjectWithKeywords(PyObject *func, PyObject *arg, PyObject *kw)
{
PyObject
*
result
;
if
(
arg
==
NULL
)
if
(
arg
==
NULL
)
{
arg
=
PyTuple_New
(
0
);
if
(
arg
==
NULL
)
return
NULL
;
}
else
if
(
!
PyTuple_Check
(
arg
))
{
PyErr_SetString
(
PyExc_TypeError
,
"argument list must be a tuple"
);
...
...
Python/traceback.c
View file @
4af5c8ce
...
...
@@ -185,8 +185,12 @@ tb_displayline(PyObject *f, char *filename, int lineno, char *name)
}
PyOS_snprintf
(
linebuf
,
sizeof
(
linebuf
),
FMT
,
filename
,
lineno
,
name
);
err
=
PyFile_WriteString
(
linebuf
,
f
);
if
(
xfp
==
NULL
||
err
!=
0
)
if
(
xfp
==
NULL
)
return
err
;
else
if
(
err
!=
0
)
{
fclose
(
xfp
);
return
err
;
}
for
(
i
=
0
;
i
<
lineno
;
i
++
)
{
char
*
pLastChar
=
&
linebuf
[
sizeof
(
linebuf
)
-
2
];
do
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment