Hi,
Zitat von Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx>:
On Fri, Jun 17, 2011 at 1:19 PM, Hendrik Sattler
<post@xxxxxxxxxxxxxxxxxx> wrote:
Zitat von Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx>:
+static char *ftp_build_filename(struct ftp_session *ftp, const char
*destname)
+{
+ char *filename;
+
+ /* DestName can either be relative or absolute (FTP style) */
+ if (g_path_is_absolute(destname))
+ filename = g_build_filename(destname, NULL);
+ else
+ filename = g_build_filename(ftp->folder, destname, NULL);
+
+ /* Check if destination is inside root path */
+ if (g_str_has_prefix(filename, ftp->folder))
+ return filename;
+
+ g_free(filename);
+
+ return NULL;
+}
You should also catch stuff like the UNC path stuff and drive letter
prefixes. No need to support all the sick stuff :-/
If g_build_filename doesn't care I don't see why we should care.
Because strings like "\\..." and "C:\..." may return 0 with
g_path_is_absolute(destname) and you then use a wrong directory that
is not according to spec.
HS
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html