fix problem with filename parsing if file does not have extension but also has a...
authorJosh Coalson <jcoalson@users.sourceforce.net>
Fri, 10 Nov 2006 17:42:55 +0000 (17:42 +0000)
committerJosh Coalson <jcoalson@users.sourceforce.net>
Fri, 10 Nov 2006 17:42:55 +0000 (17:42 +0000)
src/flac/main.c

index 8f6c6c4..48364e5 100644 (file)
@@ -1905,7 +1905,8 @@ const char *get_outfilename(const char *infilename, const char *suffix)
                                return 0;
                        if (flac__strlcat(buffer, infilename, sizeof buffer) >= sizeof buffer)
                                return 0;
-                       if(0 == (p = strrchr(buffer, '.'))) {
+                       /* the . must come after any / to avoid problems with, e.g. "some.directory/extensionless-filename" */
+                       if(0 == (p = strrchr(buffer, '.')) || strchr(p, '/')) {
                                if (flac__strlcat(buffer, suffix, sizeof buffer) >= sizeof buffer)
                                        return 0;
                        }