diff options
Diffstat (limited to 'main/xulrunner/fix-tools.patch')
-rw-r--r-- | main/xulrunner/fix-tools.patch | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/main/xulrunner/fix-tools.patch b/main/xulrunner/fix-tools.patch index bd468991ec..b0a6d4fbcc 100644 --- a/main/xulrunner/fix-tools.patch +++ b/main/xulrunner/fix-tools.patch @@ -30,3 +30,20 @@ #ifdef ANDROID #include <android/log.h> #else +--- mozilla-release.orig/tools/profiler/LulElf.cpp ++++ mozilla-release/tools/profiler/LulElf.cpp +@@ -579,10 +579,10 @@ + // Return the non-directory portion of FILENAME: the portion after the + // last slash, or the whole filename if there are no slashes. + string BaseFileName(const string &filename) { +- // Lots of copies! basename's behavior is less than ideal. +- char *c_filename = strdup(filename.c_str()); +- string base = basename(c_filename); +- free(c_filename); ++ // basename's behavior is less than ideal so avoid it ++ const char *c_filename = filename.c_str(); ++ const char *p = strrchr(c_filename, '/'); ++ string base = p ? p+1 : c_filename; + return base; + } + |