2009/9/5 Pekka Enberg <penb...@cs.helsinki.fi>: > This fixes the following uninitialized memory access reported by valgrind: > > ==24231== Warning: set address range perms: large range 268435456 (defined) > ==24231== Conditional jump or move depends on uninitialised value(s) > ==24231== at 0x8069173: alloc_stack_frame (stack-slot.c:45) > ==24231== by 0x8063ACB: compilation_unit_alloc (compilation-unit.c:87) > ==24231== by 0x8076860: vm_method_prepare_jit (method.c:168) > ==24231== by 0x806FF12: vm_class_link (class.c:476) > ==24231== by 0x8070889: classloader_load (classloader.c:359) > ==24231== by 0x806FA6B: vm_class_link (class.c:322) > ==24231== by 0x8070889: classloader_load (classloader.c:359) > ==24231== by 0x806F932: vm_class_link (class.c:275) > ==24231== by 0x8070889: classloader_load (classloader.c:359) > ==24231== by 0x806F932: vm_class_link (class.c:275) > ==24231== by 0x8070889: classloader_load (classloader.c:359) > ==24231== by 0x806EC84: vm_class_resolve_class (class.c:734) > > Cc: Tomek Grabiec <tgrab...@gmail.com> > Cc: Vegard Nossum <vegard.nos...@gmail.com> > Signed-off-by: Pekka Enberg <penb...@cs.helsinki.fi> > --- > vm/class.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/vm/class.c b/vm/class.c > index f53f112..7fbee09 100644 > --- a/vm/class.c > +++ b/vm/class.c > @@ -442,7 +442,7 @@ int vm_class_link(struct vm_class *vmc, const struct > cafebabe_class *class) > > vmc->nr_methods = class->methods_count + extra_methods.size; > > - vmc->methods = malloc(sizeof(*vmc->methods) * vmc->nr_methods); > + vmc->methods = calloc(vmc->nr_methods, sizeof(*vmc->methods)); > if (!vmc->methods) { > NOT_IMPLEMENTED; > return -1;
Um, wait, what's the actual dereference that causes the valgrind warning? Because as it stands, it looks like you're fixing just the symptom and not the real error. We have method initializers that should take care of initializing everything, field by field. I'd think that's where you'd fix it. Vegard ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel