if (g_file_test(argv1, G_FILE_TEST_IS_DIR)) {
len = strlen(argv1);
-
- if (argv1[len - 1] == '/')
- strncpy(req_path, argv1, len - 1);
- else
- strncpy(req_path, argv1, len);
-
+ if (len < sizeof(req_path)) {
+ if (argv1[len - 1] == '/')
+ strncpy(req_path, argv1, len - 1);
+ else
+ strncpy(req_path, argv1, len);
+ }
ret = dir_scan_non_recursive(req_path);
if (ret != 0) {
printf("error : %d\n", ret);
if (strcmp(argv1, "-r") == 0) {
if ((argv2 != NULL) && (g_file_test(argv2, G_FILE_TEST_IS_DIR))) {
len = strlen(argv2);
-
- if (argv2[len - 1] == '/')
- strncpy(req_path, argv2, len - 1);
- else
- strncpy(req_path, argv2, len);
+ if (len < sizeof(req_path)) {
+ if (argv2[len - 1] == '/')
+ strncpy(req_path, argv2, len - 1);
+ else
+ strncpy(req_path, argv2, len);
+ }
ret = dir_scan_recursive(req_path);
if (ret != 0) {