Skip to contentSkip to conversation

combo-layer sanity_check fix

PATCH In review Patrick Ohly 2 participants 4 messages May 20, 2015 – Aug 4, 2015

lore
Share & tools
lore
#0 lore raw

cover combo-layer sanity_check fix

The following changes since commit c0f0b6e6ef1edc0a9f9e1ceffb1cdbbef2e409c6:

glibc: CVE-2015-1781: resolv/nss_dns/dns-host.c buffer overflow (2015-05-16 22:37:21 +0100)

are available in the git repository at:

git://github.com/pohly/openembedded-core master
https://github.com/pohly/openembedded-core/tree/master

Patrick Ohly (1):
combo-layer: handle unset dest_dir in sanity_check()

 scripts/combo-layer | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/1 combo-layer: handle unset dest_dir in sanity_check()

The previous "clean up dest_dir checking" patch (f8cdbe7497) improved handling of empty dest_dir but made handling of unset dest_dir worse:
instead showing the "Option dest_dir is not defined for component ..." error, it fails with a Python exception.

Avoid that by providing a sane fallback for the unset case. With that change, dest_dir is no longer strictly required, but the check for it is kept to ensure that a combo-layer.conf also works with older combo-layer versions.

[Yocto #7773]

---
 scripts/combo-layer | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
scripts/combo-layer +4 -2
index b0b7c28..698d3e3 100755
@@ -145,8 +145,10 @@ class Configuration(object):
                     msg = "%s\nOption %s is not defined for component %s" %(msg, option, name)
                     missing_options.append(option)
             # Sanitize dest_dir so that we do not have to deal with edge cases
-            # (empty string, double slashes) in the rest of the code.
-            dest_dir = os.path.normpath(self.repos[name]["dest_dir"])
+            # (unset, empty string, double slashes) in the rest of the code.
+            # It not being set will still be flagged as error because it is
+            # listed as required option above; that could be changed now.
+            dest_dir = os.path.normpath(self.repos[name].get("dest_dir", "."))
             self.repos[name]["dest_dir"] = "." if not dest_dir else dest_dir
         if msg != "":
             logger.error("configuration file %s has the following error: %s" % (self.conffile,msg))
Signature · 1 line
2.1.4
Acked-by on v1 1/1
#2 lore raw

Re: [PATCH 1/1] combo-layer: handle unset dest_dir in sanity_check()

Quoted 28 lines · On Wednesday 20 May 2015 13:48:20 Patrick Ohly wrote:

The previous "clean up dest_dir checking" patch (f8cdbe7497) improved handling of empty dest_dir but made handling of unset dest_dir worse:
instead showing the "Option dest_dir is not defined for component ..." error, it fails with a Python exception.

Avoid that by providing a sane fallback for the unset case. With that change, dest_dir is no longer strictly required, but the check for it is kept to ensure that a combo-layer.conf also works with older combo-layer versions.

[Yocto #7773]

---
 scripts/combo-layer | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
scripts/combo-layer +0 -0
index b0b7c28..698d3e3 100755
@@ -145,8 +145,10 @@ class Configuration(object):
                     msg = "%s\nOption %s is not defined for component %s"
 %(msg, option, name) missing_options.append(option)
             # Sanitize dest_dir so that we do not have to deal with edge

cases - # (empty string, double slashes) in the rest of the
code. - dest_dir =
os.path.normpath(self.repos[name]["dest_dir"]) + # (unset, empty

Quoted 8 lines

string, double slashes) in the rest of the code. + # It not
being set will still be flagged as error because it is + #
listed as required option above; that could be changed now. + dest_dir = os.path.normpath(self.repos[name].get("dest_dir", ".")) self.repos[name]["dest_dir"] = "." if not dest_dir else dest_dir if msg != "":
logger.error("configuration file %s has the following error:
%s" % (self.conffile,msg))

I suppose we might now tidy up the line that follows, but that's less critical than fixing the behaviour that this patch does. Therefore:

Cheers,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
#3 lore raw

Re: [PATCH 1/1] combo-layer: handle unset dest_dir in sanity_check()

In reply to Patrick Ohly

Please ignore, I accidentally resent this pull request.

Quoted 4 lines · Patrick Ohly

The previous "clean up dest_dir checking" patch (f8cdbe7497) improved handling of empty dest_dir but made handling of unset dest_dir worse:
instead showing the "Option dest_dir is not defined for component ..." error, it fails with a Python exception.

...