]> code.ossystems Code Review - openembedded-core.git/commitdiff
rpm: Fix patch to ensure variables aren't used uninitialised
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 6 Jun 2018 19:10:43 +0000 (19:10 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 7 Jun 2018 07:52:13 +0000 (08:52 +0100)
Recent patches were applied which removed a function which set the xx
variable. This means xx can be uninitalised and prerm functions can fail.

This adjusts the patch to ensure the xx value isn't used in such a way.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch

index a38675f89c96511f61d7519fc1023dba50de438e..bf24d43eb9a3a28e1d2fbc0c4896ebc9e3717301 100644 (file)
@@ -6,6 +6,9 @@ Subject: [PATCH 1/2] Do not reset the PATH environment variable before running
 
 We add lots of native stuff into it and scriptlets rely on that.
 
+Also need to remove the xx test later in the function since the
+value could now be used un-initialised.
+
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 ---
@@ -25,6 +28,13 @@ index 92f949fa2..7c1aa75a8 100644
        free(ipath);
      }
  
--- 
-2.11.0
-
+@@ -206,9 +206,7 @@ static void doScriptExec(ARGV_const_t ar
+       /* XXX Don't mtrace into children. */
+       unsetenv("MALLOC_CHECK_");
+-      if (xx == 0) {
+           xx = execv(argv[0], argv);
+-      }
+     }
+     _exit(127); /* exit 127 for compatibility with bash(1) */
+ }