Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/libexec/ld.elf_so Avoid use after free, reported by the cove...



details:   https://anonhg.NetBSD.org/src/rev/b30352cb8bbb
branches:  trunk
changeset: 333354:b30352cb8bbb
user:      martin <martin%NetBSD.org@localhost>
date:      Thu Oct 30 07:53:41 2014 +0000

description:
Avoid use after free, reported by the coverity scanner.

diffstat:

 libexec/ld.elf_so/map_object.c |  6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diffs (30 lines):

diff -r 541d672ed3bc -r b30352cb8bbb libexec/ld.elf_so/map_object.c
--- a/libexec/ld.elf_so/map_object.c    Thu Oct 30 06:13:50 2014 +0000
+++ b/libexec/ld.elf_so/map_object.c    Thu Oct 30 07:53:41 2014 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: map_object.c,v 1.52 2013/08/03 13:17:05 skrll Exp $     */
+/*     $NetBSD: map_object.c,v 1.53 2014/10/30 07:53:41 martin Exp $    */
 
 /*
  * Copyright 1996 John D. Polstra.
@@ -34,7 +34,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: map_object.c,v 1.52 2013/08/03 13:17:05 skrll Exp $");
+__RCSID("$NetBSD: map_object.c,v 1.53 2014/10/30 07:53:41 martin Exp $");
 #endif /* not lint */
 
 #include <errno.h>
@@ -442,10 +442,10 @@
        }
        if (!obj->phdr_loaded)
                xfree((void *)(uintptr_t)obj->phdr);
-       xfree(obj);
 #ifdef COMBRELOC
        _rtld_combreloc_reset(obj);
 #endif
+       xfree(obj);
 }
 
 Obj_Entry *



Home | Main Index | Thread Index | Old Index