diff options
| author | Leah Rowe <leah@libreboot.org> | 2026-03-13 06:05:54 +0000 |
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2026-03-26 06:59:41 +0000 |
| commit | ddf13a7e747b5f5dddc100133b4472acfb6a2930 (patch) | |
| tree | 141789a14cefcbd42f9ae689a0691d048bd6c16b /util/nvmutil/nvmutil.c | |
| parent | a0ca693d4210e1e9c2508096b391c7d8a5017aeb (diff) | |
util/nvmutil: err in rw_file_exact on zero return
zero never occurs, because rw_file_once never returns zero,
but only rw_file_once determines that. rw_file_exact must
handle every possible error.
right now, if that call returns zero, rw_file_exact would
have an infinite loop.
this doesn't actually happen at the moment, so this is a
preventative bug fix.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'util/nvmutil/nvmutil.c')
| -rw-r--r-- | util/nvmutil/nvmutil.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c index 811cce31..5ee877eb 100644 --- a/util/nvmutil/nvmutil.c +++ b/util/nvmutil/nvmutil.c @@ -1565,7 +1565,7 @@ rw_file_exact(int fd, uint8_t *mem, size_t len, } for (rc = 0, rv = 0; rc < len; ) { - if ((rv = rw_file_once(fd, mem, len, off, rw_type, rc)) == -1) + if ((rv = rw_file_once(fd, mem, len, off, rw_type, rc)) <= 0) return -1; rc += (size_t)rv; |
