Addresses CVE-2015-3239: Off-by-one error in the dwarf_to_unw_regnum function in include/dwarf_i.h in libunwind 1.1 allows local users to have unspecified impact via invalid dwarf opcodes. Upstream stable-v1.2 fixed the missing unwind_i.h issue but no new tarball is released yet Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>master
parent
6e10fc74fd
commit
5d48dc1146
@ -1,22 +1,11 @@ |
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -36,7 +36,7 @@
|
||||
@@ -42,7 +42,7 @@ endif
|
||||
|
||||
nodist_include_HEADERS = include/libunwind-common.h
|
||||
|
||||
-SUBDIRS = src tests doc
|
||||
+SUBDIRS = src doc
|
||||
-SUBDIRS = src tests
|
||||
+SUBDIRS = src
|
||||
|
||||
noinst_HEADERS = include/dwarf.h include/dwarf_i.h include/dwarf-eh.h \
|
||||
include/compiler.h include/libunwind_i.h include/mempool.h \
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -313,7 +313,7 @@
|
||||
$(am__append_7) $(am__append_8) $(am__append_9) \
|
||||
$(am__append_10)
|
||||
nodist_include_HEADERS = include/libunwind-common.h
|
||||
-SUBDIRS = src tests doc
|
||||
+SUBDIRS = src doc
|
||||
noinst_HEADERS = include/dwarf.h include/dwarf_i.h include/dwarf-eh.h \
|
||||
include/compiler.h include/libunwind_i.h include/mempool.h \
|
||||
include/remote.h \
|
||||
if CONFIG_DOCS
|
||||
SUBDIRS += doc
|
||||
|
@ -0,0 +1,46 @@ |
||||
--- /dev/null 2017-05-16 16:52:50.220000000 +0800
|
||||
+++ b/src/mips/unwind_i.h 2016-06-13 11:43:06.310153501 +0800
|
||||
@@ -0,0 +1,43 @@
|
||||
+/* libunwind - a platform-independent unwind library
|
||||
+ Copyright (C) 2008 CodeSourcery
|
||||
+
|
||||
+This file is part of libunwind.
|
||||
+
|
||||
+Permission is hereby granted, free of charge, to any person obtaining
|
||||
+a copy of this software and associated documentation files (the
|
||||
+"Software"), to deal in the Software without restriction, including
|
||||
+without limitation the rights to use, copy, modify, merge, publish,
|
||||
+distribute, sublicense, and/or sell copies of the Software, and to
|
||||
+permit persons to whom the Software is furnished to do so, subject to
|
||||
+the following conditions:
|
||||
+
|
||||
+The above copyright notice and this permission notice shall be
|
||||
+included in all copies or substantial portions of the Software.
|
||||
+
|
||||
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
+
|
||||
+#ifndef unwind_i_h
|
||||
+#define unwind_i_h
|
||||
+
|
||||
+#include <stdint.h>
|
||||
+
|
||||
+#include <libunwind-mips.h>
|
||||
+
|
||||
+#include "libunwind_i.h"
|
||||
+
|
||||
+#define mips_lock UNW_OBJ(lock)
|
||||
+#define mips_local_resume UNW_OBJ(local_resume)
|
||||
+#define mips_local_addr_space_init UNW_OBJ(local_addr_space_init)
|
||||
+
|
||||
+extern int mips_local_resume (unw_addr_space_t as, unw_cursor_t *cursor,
|
||||
+ void *arg);
|
||||
+
|
||||
+extern void mips_local_addr_space_init (void);
|
||||
+
|
||||
+#endif /* unwind_i_h */
|
Loading…
Reference in new issue