buildroot/package/swupdate/0002-Lua-fix-segfault-in-image-property-handling.patch
Pierre-Jean Texier e2d299485e package/swupdate: bump to version 2019.04
New features in this release:
 - Improved documentation
 - delta updates based on rdiff library
 - support for libubootenv
 - dry-run option
 - CA certificates for signed images
 - Fix security leak in parser

This commit also:
 - introduce BR2_PACKAGE_LIBRSYNC for 'rdiff' Handler. No HAVE_* is
   needed, it just declares the functions locally and links with
   -lrsync.
 - introduce BR2_PACKAGE_LIBUBOOTENV
 - drop upstreamed patch
 - backport upstream patches (important fix)
 - regenerate the default swupdate.config. Now CONFIG_GUNZIP is always
   enabled because gunzip is provided by the default busybox config.

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
[Arnout: don't mention ZLIB in help text for libubootenv, since it is
 select'ed by libubootenv.]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-06-10 23:51:36 +02:00

43 lines
1.5 KiB
Diff

From ee17493d470ae7fd7b34241f263cfa6d790ce1b3 Mon Sep 17 00:00:00 2001
From: Christian Storm <christian.storm@siemens.com>
Date: Tue, 21 May 2019 14:45:51 +0200
Subject: [PATCH] Lua: fix segfault in image property handling
table2image() calls lua_dump_table() with the 'key' parameter being
NULL and the 'img' parameter set. Subsequently, dict_insert_value() is
called with key == NULL if the Lua stack key's type is string or number,
segfaulting SWUpdate.
Signed-off-by: Christian Storm <christian.storm@siemens.com>
Reported-by: Akihiro Suzuki <akihiro27.suzuki@toshiba.co.jp>
Acked-by: Stefano Babic <sbabic@denx.de>
[Backported from: ee17493d470ae7fd7b34241f263cfa6d790ce1b3]
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
---
corelib/lua_interface.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/corelib/lua_interface.c b/corelib/lua_interface.c
index d4ebe4a..443f149 100644
--- a/corelib/lua_interface.c
+++ b/corelib/lua_interface.c
@@ -80,11 +80,11 @@ static void lua_dump_table(lua_State *L, char *str, struct img_type *img, const
lua_tostring(L, -1),
lua_tostring(L, -2));
if (img) {
- TRACE("Inserting property %s[%s] = %s",
- key,
- lua_tostring(L, -1),
+ TRACE("Inserting property %s = %s",
+ key ? key : lua_tostring(L, -1),
lua_tostring(L, -2));
- dict_insert_value(&img->properties, key,
+ dict_insert_value(&img->properties,
+ key ? key : lua_tostring(L, -1),
lua_tostring(L, -2));
}
break;
--
2.7.4