Skip to content
  • Emmanuele Bassi's avatar
    Terminate strncpy() buffers correctly · 8f8b68f8
    Emmanuele Bassi authored
    When using strncpy() with a buffer we need to account for the
    terminating NUL character. GCC 8 started warning when using PPD_MAX_NAME
    as the buffer length for strncpy() because the buffer we're copying into
    has the same length — which means that the terminating NUL may be
    skipped if the source string has a length of PPD_MAX_NAME.
    
    The appropriate way to handle the case where we're copying a source with
    a length bigger than of PPD_MAX_NAME is, as reported in the strncpy()
    documentation, to copy `PPD_MAX_NAME - 1` bytes, and explicitly NUL
    terminate the destination buffer. This has the additional benefit of
    avoiding the compiler warning.
    8f8b68f8