@@ -146,7 +146,7 @@ void sha1_process_bytes(const void* buffer, size_t len, struct sha1_ctx* ctx) {
146
146
#define UNALIGNED_P (p ) ((uintptr_t)(p) % sizeof(uint32_t) != 0)
147
147
if (UNALIGNED_P (buffer ))
148
148
while (len > 64 ) {
149
- sha1_process_block (memcpy (ctx -> buffer , buffer , 64 ), 64 , ctx );
149
+ sha1_process_block (memcpy (ctx -> buffer , buffer , 64 ), 64 , ctx ); //-V1086
150
150
buffer = (const char * )buffer + 64 ;
151
151
len -= 64 ;
152
152
}
@@ -232,86 +232,31 @@ void sha1_process_block(const void* buffer, size_t len, struct sha1_ctx* ctx) {
232
232
words ++ ;
233
233
}
234
234
235
- R (a , b , c , d , e , F1 , K1 , x [0 ]);
236
- R (e , a , b , c , d , F1 , K1 , x [1 ]);
237
- R (d , e , a , b , c , F1 , K1 , x [2 ]);
238
- R (c , d , e , a , b , F1 , K1 , x [3 ]);
239
- R (b , c , d , e , a , F1 , K1 , x [4 ]);
240
- R (a , b , c , d , e , F1 , K1 , x [5 ]);
241
- R (e , a , b , c , d , F1 , K1 , x [6 ]);
242
- R (d , e , a , b , c , F1 , K1 , x [7 ]);
243
- R (c , d , e , a , b , F1 , K1 , x [8 ]);
244
- R (b , c , d , e , a , F1 , K1 , x [9 ]);
245
- R (a , b , c , d , e , F1 , K1 , x [10 ]);
246
- R (e , a , b , c , d , F1 , K1 , x [11 ]);
247
- R (d , e , a , b , c , F1 , K1 , x [12 ]);
248
- R (c , d , e , a , b , F1 , K1 , x [13 ]);
249
- R (b , c , d , e , a , F1 , K1 , x [14 ]);
250
- R (a , b , c , d , e , F1 , K1 , x [15 ]);
251
- R (e , a , b , c , d , F1 , K1 , M (16 ));
252
- R (d , e , a , b , c , F1 , K1 , M (17 ));
253
- R (c , d , e , a , b , F1 , K1 , M (18 ));
254
- R (b , c , d , e , a , F1 , K1 , M (19 ));
255
- R (a , b , c , d , e , F2 , K2 , M (20 ));
256
- R (e , a , b , c , d , F2 , K2 , M (21 ));
257
- R (d , e , a , b , c , F2 , K2 , M (22 ));
258
- R (c , d , e , a , b , F2 , K2 , M (23 ));
259
- R (b , c , d , e , a , F2 , K2 , M (24 ));
260
- R (a , b , c , d , e , F2 , K2 , M (25 ));
261
- R (e , a , b , c , d , F2 , K2 , M (26 ));
262
- R (d , e , a , b , c , F2 , K2 , M (27 ));
263
- R (c , d , e , a , b , F2 , K2 , M (28 ));
264
- R (b , c , d , e , a , F2 , K2 , M (29 ));
265
- R (a , b , c , d , e , F2 , K2 , M (30 ));
266
- R (e , a , b , c , d , F2 , K2 , M (31 ));
267
- R (d , e , a , b , c , F2 , K2 , M (32 ));
268
- R (c , d , e , a , b , F2 , K2 , M (33 ));
269
- R (b , c , d , e , a , F2 , K2 , M (34 ));
270
- R (a , b , c , d , e , F2 , K2 , M (35 ));
271
- R (e , a , b , c , d , F2 , K2 , M (36 ));
272
- R (d , e , a , b , c , F2 , K2 , M (37 ));
273
- R (c , d , e , a , b , F2 , K2 , M (38 ));
274
- R (b , c , d , e , a , F2 , K2 , M (39 ));
275
- R (a , b , c , d , e , F3 , K3 , M (40 ));
276
- R (e , a , b , c , d , F3 , K3 , M (41 ));
277
- R (d , e , a , b , c , F3 , K3 , M (42 ));
278
- R (c , d , e , a , b , F3 , K3 , M (43 ));
279
- R (b , c , d , e , a , F3 , K3 , M (44 ));
280
- R (a , b , c , d , e , F3 , K3 , M (45 ));
281
- R (e , a , b , c , d , F3 , K3 , M (46 ));
282
- R (d , e , a , b , c , F3 , K3 , M (47 ));
283
- R (c , d , e , a , b , F3 , K3 , M (48 ));
284
- R (b , c , d , e , a , F3 , K3 , M (49 ));
285
- R (a , b , c , d , e , F3 , K3 , M (50 ));
286
- R (e , a , b , c , d , F3 , K3 , M (51 ));
287
- R (d , e , a , b , c , F3 , K3 , M (52 ));
288
- R (c , d , e , a , b , F3 , K3 , M (53 ));
289
- R (b , c , d , e , a , F3 , K3 , M (54 ));
290
- R (a , b , c , d , e , F3 , K3 , M (55 ));
291
- R (e , a , b , c , d , F3 , K3 , M (56 ));
292
- R (d , e , a , b , c , F3 , K3 , M (57 ));
293
- R (c , d , e , a , b , F3 , K3 , M (58 ));
294
- R (b , c , d , e , a , F3 , K3 , M (59 ));
295
- R (a , b , c , d , e , F4 , K4 , M (60 ));
296
- R (e , a , b , c , d , F4 , K4 , M (61 ));
297
- R (d , e , a , b , c , F4 , K4 , M (62 ));
298
- R (c , d , e , a , b , F4 , K4 , M (63 ));
299
- R (b , c , d , e , a , F4 , K4 , M (64 ));
300
- R (a , b , c , d , e , F4 , K4 , M (65 ));
301
- R (e , a , b , c , d , F4 , K4 , M (66 ));
302
- R (d , e , a , b , c , F4 , K4 , M (67 ));
303
- R (c , d , e , a , b , F4 , K4 , M (68 ));
304
- R (b , c , d , e , a , F4 , K4 , M (69 ));
305
- R (a , b , c , d , e , F4 , K4 , M (70 ));
306
- R (e , a , b , c , d , F4 , K4 , M (71 ));
307
- R (d , e , a , b , c , F4 , K4 , M (72 ));
308
- R (c , d , e , a , b , F4 , K4 , M (73 ));
309
- R (b , c , d , e , a , F4 , K4 , M (74 ));
310
- R (a , b , c , d , e , F4 , K4 , M (75 ));
311
- R (e , a , b , c , d , F4 , K4 , M (76 ));
312
- R (d , e , a , b , c , F4 , K4 , M (77 ));
313
- R (c , d , e , a , b , F4 , K4 , M (78 ));
314
- R (b , c , d , e , a , F4 , K4 , M (79 ));
235
+ for (int i = 0 ; i < 80 ; i ++ ) {
236
+ uint32_t xx = i < 16 ? x [i ] : M (i );
237
+ uint32_t ki = i / 20 ;
238
+ switch (ki ) {
239
+ case 0 :
240
+ R (a , b , c , d , e , F1 , K1 , xx );
241
+ break ;
242
+ case 1 :
243
+ R (a , b , c , d , e , F2 , K2 , xx );
244
+ break ;
245
+ case 2 :
246
+ R (a , b , c , d , e , F3 , K3 , xx );
247
+ break ;
248
+ default :
249
+ R (a , b , c , d , e , F4 , K4 , xx );
250
+ break ;
251
+ }
252
+
253
+ uint32_t tt = a ;
254
+ a = e ;
255
+ e = d ;
256
+ d = c ;
257
+ c = b ;
258
+ b = tt ;
259
+ }
315
260
316
261
a = ctx -> A += a ;
317
262
b = ctx -> B += b ;
0 commit comments