summaryrefslogtreecommitdiff
path: root/Modules/binascii.c
diff options
context:
space:
mode:
authorNeal Norwitz <nnorwitz@gmail.com>2004-06-06 20:13:10 +0000
committerNeal Norwitz <nnorwitz@gmail.com>2004-06-06 20:13:10 +0000
commitfe92eef85b081640e20b787c99282544e148fc1c (patch)
treec60317ab670f8cc749ec5cb89efc03390b86c256 /Modules/binascii.c
parent7b0a5057afaadab77aa20f87681edd89e327ea3c (diff)
downloadcpython-git-fe92eef85b081640e20b787c99282544e148fc1c.tar.gz
Valgrind was reporting an uninitialized read for bad input.
This fixes the problem and the test passes. I'm not sure the test is really correct though. It seems like it would be better to raise an exception. I think that wasn't done for backwards compatability. Bugfix candidate.
Diffstat (limited to 'Modules/binascii.c')
-rw-r--r--Modules/binascii.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Modules/binascii.c b/Modules/binascii.c
index 9cc49f6905..f1f961516a 100644
--- a/Modules/binascii.c
+++ b/Modules/binascii.c
@@ -204,7 +204,8 @@ binascii_a2b_uu(PyObject *self, PyObject *args)
bin_data = (unsigned char *)PyString_AsString(rv);
for( ; bin_len > 0 ; ascii_len--, ascii_data++ ) {
- this_ch = *ascii_data;
+ /* XXX is it really best to add NULs if there's no more data */
+ this_ch = (ascii_len > 0) ? *ascii_data : 0;
if ( this_ch == '\n' || this_ch == '\r' || ascii_len <= 0) {
/*
** Whitespace. Assume some spaces got eaten at