summaryrefslogtreecommitdiffstats
path: root/tools/firmware
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2018-12-21 02:28:41 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-01-22 04:23:18 -0500
commit925f8d4aad5ca1bf18987a3cdcb0e176bddddcf1 (patch)
tree5e53df57ddc8c8944ea7822ad6211aeba770038b /tools/firmware
parent2ef8179bb7a6817de3fc9407ab55aa357f2d1e4d (diff)
tools/firmware/ihex2fw: Replace explicit alignment with ALIGN
(X + 3) & ~3 is the same as ALIGN(X, 4), so replace all of the instances of the formwer in the code with the latter. While at it, introduce a helper variable 'record_size' to avoid duplicating length calculatin code. No functional change intended. Cc: Chris Healy <cphealy@gmail.com> Cc: Kyle McMartin <kyle@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: linux-kernel <linux-kernel@vger.kernel.org> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'tools/firmware')
-rw-r--r--tools/firmware/ihex2fw.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/firmware/ihex2fw.c b/tools/firmware/ihex2fw.c
index e081cef730d8..8925b60e51f5 100644
--- a/tools/firmware/ihex2fw.c
+++ b/tools/firmware/ihex2fw.c
@@ -135,6 +135,7 @@ int main(int argc, char **argv)
135static int process_ihex(uint8_t *data, ssize_t size) 135static int process_ihex(uint8_t *data, ssize_t size)
136{ 136{
137 struct ihex_binrec *record; 137 struct ihex_binrec *record;
138 size_t record_size;
138 uint32_t offset = 0; 139 uint32_t offset = 0;
139 uint32_t data32; 140 uint32_t data32;
140 uint8_t type, crc = 0, crcbyte = 0; 141 uint8_t type, crc = 0, crcbyte = 0;
@@ -161,12 +162,13 @@ next_record:
161 len <<= 8; 162 len <<= 8;
162 len += hex(data + i, &crc); i += 2; 163 len += hex(data + i, &crc); i += 2;
163 } 164 }
164 record = malloc((sizeof (*record) + len + 3) & ~3); 165 record_size = ALIGN(sizeof(*record) + len, 4);
166 record = malloc(record_size);
165 if (!record) { 167 if (!record) {
166 fprintf(stderr, "out of memory for records\n"); 168 fprintf(stderr, "out of memory for records\n");
167 return -ENOMEM; 169 return -ENOMEM;
168 } 170 }
169 memset(record, 0, (sizeof(*record) + len + 3) & ~3); 171 memset(record, 0, record_size);
170 record->len = len; 172 record->len = len;
171 173
172 /* now check if we have enough data to read everything */ 174 /* now check if we have enough data to read everything */