]> code.ossystems Code Review - openembedded-core.git/commitdiff
lib/oe/recipeutils: fix patch_recipe*() with empty input
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Mon, 25 Jul 2016 08:47:17 +0000 (20:47 +1200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 25 Jul 2016 22:47:03 +0000 (23:47 +0100)
If you supplied an empty file to patch_recipe() (or an empty list to
patch_recipe_lines()) then the result was IndexError because the code
checking to see if it needed to add an extra line of padding didn't
check to see if there were in fact any lines before trying to access the
last line.

Fixes [YOCTO #9972].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/recipeutils.py

index 0e7abf833bdd0826adc885e382ad62f85f34f06b..c77664f135c1e8655caa8461986948473df526a7 100644 (file)
@@ -259,7 +259,7 @@ def patch_recipe_lines(fromlines, values, trailing_newline=True):
     changed, tolines = bb.utils.edit_metadata(fromlines, varlist, patch_recipe_varfunc, match_overrides=True)
 
     if remainingnames:
-        if tolines[-1].strip() != '':
+        if tolines and tolines[-1].strip() != '':
             tolines.append('\n')
         for k in remainingnames.keys():
             outputvalue(k, tolines)