Re: [dpdk-dev] [PATCH v2] pmdinfogen: allow padding after NUL terminator
From: Dmitry Kozlyuk <hidden>
Date: 2021-06-09 15:52:24
2021-05-28 00:24 (UTC+0300), Dmitry Kozlyuk:
quoted hunk ↗ jump to hunk
Size of string constant symbol may be larger than its length measured up to NUL terminator. In this case pmdinfogen included padding bytes after NUL terminator in generated source, yielding incorrect code. Always trim string data to NUL terminator while reading ELF. It was already done for COFF because there's no symbol size. Bugzilla ID: 720 Fixes: f0f93a7adfee ("buildtools: use Python pmdinfogen") Signed-off-by: Dmitry Kozlyuk <redacted> --- v2: return helper to coff.py, where it's needed (David Marchand). buildtools/pmdinfogen.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/buildtools/pmdinfogen.py b/buildtools/pmdinfogen.py index 7a739ec7d4..2a44f17bda 100755 --- a/buildtools/pmdinfogen.py +++ b/buildtools/pmdinfogen.py@@ -28,7 +28,7 @@ def __init__(self, image, symbol): def string_value(self): size = self._symbol["st_size"] value = self.get_value(0, size) - return value[:-1].decode() if value else "" + return coff.decode_asciiz(value) # not COFF-specific def get_value(self, offset, size): section = self._symbol["st_shndx"]
There are CI failures that seem unrelated to this patch: some tests with NICs that I can't check and an Arch Linux build failure that I failed to reproduce. GitHub Actions are passing. Are these known CI bugs or does this patch need any corrections?