• Show log

    Commit

  • Hash : 486302d6
    Author : Patrick Steinhardt
    Date : 2016-03-01T19:11:33

    submodule: avoid passing NULL pointers to strncmp
    
    In C89 it is undefined behavior to pass `NULL` pointers to
    `strncmp` and later on in C99 it has been explicitly stated that
    functions with an argument declared as `size_t nmemb` specifying
    the array length shall always have valid parameters, no matter if
    `nmemb` is 0 or not (see ISO 9899 ยง7.21.1.2).
    
    The function `str_equal_no_trailing_slash` always passes its
    parameters to `strncmp` if their lengths match. This means if one
    parameter is `NULL` and the other one either `NULL` or a string
    with length 0 we will pass the pointers to `strncmp` and cause
    undefined behavior.
    
    Fix this by explicitly handling the case when both lengths are 0.