Lines Matching refs:data_path
99 static void check_data_path(const char* package_name, const char* data_path, uid_t uid) { in check_data_path() argument
101 if (data_path[0] != '/') { in check_data_path()
102 error(1, 0, "%s data path not absolute: %s", package_name, data_path); in check_data_path()
108 for (int nn = 1; data_path[nn] != '\0'; nn++) { in check_data_path()
112 if (data_path[nn] != '/') continue; in check_data_path()
115 if (data_path[nn+1] == '\0') break; in check_data_path()
119 error(1, 0, "%s data path too long: %s", package_name, data_path); in check_data_path()
124 data_path[nn-3] == '/' && in check_data_path()
125 data_path[nn-2] == '.' && in check_data_path()
126 data_path[nn-1] == '.') { in check_data_path()
127 error(1, 0, "%s contains '..': %s", package_name, data_path); in check_data_path()
131 memcpy(subpath, data_path, nn); in check_data_path()
139 check_directory(data_path, uid); in check_data_path()