Skip to content
  • Heinrich Schuchardt's avatar
    net: unaligned copying of unsigned long · bbfc5627
    Heinrich Schuchardt authored and Joe Hershberger's avatar Joe Hershberger committed
    
    
    The inline functions net_read_u32() and net_copy_u32() have been created to
    copy unaligned u32. But this is not obvious to the compiler. GCC 9.1
    introduces a check -Werror=address-of-packed-member which leads to a build
    error on Travis CI:
    
    net/bootp.c: In function ‘dhcp_send_request_packet’:
    net/bootp.c:1011:27: error: taking address of packed member of
    ‘struct bootp_hdr’ may result in an unaligned pointer value
    [-Werror=address-of-packed-member]
     1011 |  net_copy_u32(&bp->bp_id, &bp_offer->bp_id);
    
    Change the type of the function parameters to void * to avoid the build
    error.
    
    Reported-by: default avatarRamon Fried <rfried.dev@gmail.com>
    Signed-off-by: Heinrich Schuchardt's avatarHeinrich Schuchardt <xypron.glpk@gmx.de>
    Acked-by: Joe Hershberger's avatarJoe Hershberger <joe.hershberger@ni.com>
    bbfc5627