tools: mkenvimage: Always consider non-regular files
authorAndre Przywara <andre.przywara@arm.com>
Sun, 30 Jun 2019 01:45:01 +0000 (02:45 +0100)
committerTom Rini <trini@konsulko.com>
Thu, 18 Jul 2019 15:31:26 +0000 (11:31 -0400)
commit849f9bef429dd1a2eabaf93bef2bd3442b4e0829
tree4a5984aa39f6be0979face2aed27e2d4895ffc8a
parent40e7b3ce74e32798e742725d743e484f11766ba4
tools: mkenvimage: Always consider non-regular files

At the moment mkenvimage has two separate read paths: One to read from
a potential pipe, while dynamically increasing the buffer size, and a
second one using mmap(2), using the input file's size. This is
problematic for two reasons:
- The "pipe" path will be chosen if the input filename is missing or
  "-".  Any named, but non-regular file will use the other path, which
  typically will cause mmap() to fail:
  $ mkenvimage -s 256 -o out <(echo "foo=bar")
- There is no reason to have *two* ways of reading a file, since the
  "pipe way" will always work, even for regular files.

Fix this (and simplify the code on the way) by always using the method
of dynamically resizing the buffer. The existing distinction between
the two cases will merely be used to use the open() syscall or not.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
tools/mkenvimage.c