diff --git a/oss_c_sdk/oss_util.c b/oss_c_sdk/oss_util.c index 3040e96e..c4674082 100644 --- a/oss_c_sdk/oss_util.c +++ b/oss_c_sdk/oss_util.c @@ -148,6 +148,10 @@ static void generate_rtmp_proto(const oss_request_options_t *options, int is_valid_ip(const char *str) { + if (!str) { + return 0; + } + if (INADDR_NONE == inet_addr(str) || INADDR_ANY == inet_addr(str)) { return 0; } diff --git a/oss_c_sdk_test/test_aos.c b/oss_c_sdk_test/test_aos.c index 9d91e88f..0b23b5b0 100644 --- a/oss_c_sdk_test/test_aos.c +++ b/oss_c_sdk_test/test_aos.c @@ -79,6 +79,12 @@ void test_is_valid_ip(CuTest *tc) { ret = is_valid_ip("0.0.0.0"); CuAssertIntEquals(tc, 0, ret); + ret = is_valid_ip(NULL); + CuAssertIntEquals(tc, 0, ret); + + ret = is_valid_ip(""); + CuAssertIntEquals(tc, 0, ret); + printf("test_is_valid_ip ok\n"); }