diff options
author | Tomas Bzatek <tbzatek@redhat.com> | 2009-05-12 15:17:06 +0200 |
---|---|---|
committer | Tomas Bzatek <tbzatek@redhat.com> | 2009-05-12 15:17:06 +0200 |
commit | 5073d2736d6a83de04e749ae5952071da3d1ccbc (patch) | |
tree | 2a3a7cd077e3e10db108f93892b6893c6df61a03 /daemon/gvfsbackendcdda.c | |
parent | edb7ccb661746fd55ed3b935b44a61d011a0807c (diff) | |
download | gvfs-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.c | 3 |
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; |