• Sebastian Kemper's avatar
    FS-11783: [mod_say_ja] quiet overflow warning · 3ca75eb8
    Sebastian Kemper 提交于
    With -Wformat-overflow gcc warns about calls to formatted input/output
    function "sprintf" that might overflow the destination buffer.
    
    In this case gcc does not know the upper bound of tm_min and assumes
    that up to 11 bytes might be written to buffer (3 bytes). But we know
    that tm_min can only be within the range 0 to 59.
    
    mod_say_ja.c: In function 'ja_say_time':
    mod_say_ja.c:376:35: error: '%d' directive writing between 2 and 10 bytes into a region of size 3 [-Werror=format-overflow=]
                      sprintf(buffer, "%d", tm.tm_min);
                                       ^~
    mod_say_ja.c:376:34: note: directive argument in the range [11, 2147483647]
                      sprintf(buffer, "%d", tm.tm_min);
                                      ^~~~
    mod_say_ja.c:376:18: note: 'sprintf' output between 3 and 11 bytes into a destination of size 3
                      sprintf(buffer, "%d", tm.tm_min);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    This commits adds a hint for gcc, which silences the warning.
    Signed-off-by: 's avatarSebastian Kemper <sebastian_ml@gmx.net>
    3ca75eb8
mod_say_ja.c 13.2 KB