void strlower(char *s)
{
while (*s) {
- if (isupper((int) *s))
- *s = tolower((int) *s);
+ if (isupper(* (unsigned char *) s))
+ *s = tolower(* (unsigned char *) s);
s++;
}
}
*
* @sa t_unsafe.c
**/
-int unsafe_symlink(char *dest, char *src)
+int unsafe_symlink(const char *dest_path, const char *src_path)
{
- char *tok;
+ char *tok, *src, *dest;
int depth = 0;
/* all absolute and null symlinks are unsafe */
- if (!dest || !(*dest) || (*dest == '/')) return 1;
+ if (!dest_path || !*dest_path || *dest_path == '/') return 1;
- src = strdup(src);
+ src = strdup(src_path);
if (!src) out_of_memory("unsafe_symlink");
/* find out what our safety margin is */
/* drop by one to account for the filename portion */
depth--;
- dest = strdup(dest);
+ dest = strdup(dest_path);
if (!dest) out_of_memory("unsafe_symlink");
for (tok=strtok(dest,"/"); tok; tok=strtok(NULL,"/")) {