summaryrefslogtreecommitdiff
path: root/daemon/gvfsbackendcdda.c
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@redhat.com>2009-05-12 15:17:06 +0200
committerTomas Bzatek <tbzatek@redhat.com>2009-05-12 15:17:06 +0200
commit5073d2736d6a83de04e749ae5952071da3d1ccbc (patch)
tree2a3a7cd077e3e10db108f93892b6893c6df61a03 /daemon/gvfsbackendcdda.c
parentedb7ccb661746fd55ed3b935b44a61d011a0807c (diff)
downloadgvfs-5073d2736d6a83de04e749ae5952071da3d1ccbc.tar.gz
CDDA: allow query well-formed filenames only
This will check for ".wav" suffix as long as sscanf() doesn't care of the rest of the formatting string after last placeholder. Querying filenames like "Track 10.nonsense" will now throw an error. Partially fixes https://bugzilla.redhat.com/show_bug.cgi?id=499266
Diffstat (limited to 'daemon/gvfsbackendcdda.c')
-rw-r--r--daemon/gvfsbackendcdda.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/daemon/gvfsbackendcdda.c b/daemon/gvfsbackendcdda.c
index c97aa447..9b30753d 100644
--- a/daemon/gvfsbackendcdda.c
+++ b/daemon/gvfsbackendcdda.c
@@ -460,7 +460,8 @@ get_track_num_from_name (GVfsBackendCdda *cdda_backend, const char *filename)
char *basename;
basename = g_path_get_basename (filename);
- if (sscanf (basename, "Track %d.wav", &n) == 1)
+ if (sscanf (basename, "Track %d.wav", &n) == 1 &&
+ g_str_has_suffix (basename, ".wav"))
{
g_free (basename);
return n;