Skip to content

Commit

Permalink
sha1: ignore -Wstringop-overread warning
Browse files Browse the repository at this point in the history
Fixes the following:

    [4/38] Building C object CMakeFiles/event_shared.dir/sha1.c.o
    In function ‘SHA1Update’,
        inlined from ‘SHA1Final’ at /src/le/libevent/sha1.c:274:5,
        inlined from ‘builtin_SHA1’ at /src/le/libevent/sha1.c:292:5:
    /src/le/libevent/sha1.c:228:13: warning: ‘SHA1Transform’ reading 64 bytes from a region of size 7 [-Wstringop-overread]
      228 |             SHA1Transform(context->state, *(const unsigned char (*)[64])&data[i]);
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /src/le/libevent/sha1.c:228:13: note: referencing argument 2 of type ‘const unsigned char[64]’
    /src/le/libevent/sha1.c: In function ‘builtin_SHA1’:
    /src/le/libevent/sha1.c:80:13: note: in a call to function ‘SHA1Transform’
       80 | static void SHA1Transform(uint32_t state[5], const unsigned char buffer[64]) {
          |             ^~~~~~~~~~~~~
  • Loading branch information
azat committed Nov 12, 2022
1 parent 23a01aa commit e1d7d3e
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions sha1.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,14 @@ A million repetitions of "a"

#define SHA1HANDSOFF

#if defined(__clang__)
#elif defined(__GNUC__)
#pragma GCC diagnostic push
/* Ignore the case when SHA1Transform() called with 'char *', that code passed
* buffer of 64 bytes anyway (at least now) */
#pragma GCC diagnostic ignored "-Wstringop-overread"
#endif

#include <stdio.h>
#include <string.h>

Expand Down

0 comments on commit e1d7d3e

Please sign in to comment.