项目中有个需求要操作文件,有个文件操作函数代码中调用了strtol函数,且该处代码是前人写的
代码工具检查出这个文件操作函数溢出值或截断值的风险,不明觉厉
闹了半天,man查看strtol函数的使用方法,该函数的返回值是long int类型,而我们的程序中使用的是int类型接收。由于检查工具未明确指出是接收返回值类型的原因,而是一直提醒可能有溢出,所以弄了半天,也是怪自己经验不足
STRTOL(3) Linux Programmer's Manual STRTOL(3)
NAME
strtol, strtoll, strtoq - convert a string to a long integer
SYNOPSIS
#include <stdlib.h>
long int strtol(const char *nptr, char **endptr, int base);
long long int strtoll(const char *nptr, char **endptr, int base);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
strtoll(