[gvfs] CDDA: allow query well-formed filenames only



commit 5073d2736d6a83de04e749ae5952071da3d1ccbc
Author: Tomas Bzatek <tbzatek redhat com>
Date:   Tue May 12 15:17:06 2009 +0200

    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
---
 daemon/gvfsbackendcdda.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/daemon/gvfsbackendcdda.c b/daemon/gvfsbackendcdda.c
index c97aa44..9b30753 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;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]