FLTK logo

[master] 8ef592d - Fix crash in Zenity filechooser with badly formed filter (#665)

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.commit  ]
 
Previous Message ]Next Message ]

[master] 8ef592d - Fix crash in Zenity filechooser with badly formed filter (#665) "ManoloFLTK" Jan 31, 2023  
 
commit 8ef592db1e63401d3972bef6caf8290a2e3f865e
Author:     ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>
AuthorDate: Tue Jan 31 17:01:30 2023 +0100
Commit:     ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>
CommitDate: Tue Jan 31 17:01:30 2023 +0100

     Fix crash in Zenity filechooser with badly formed filter (#665)

 src/Fl_Native_File_Chooser_Kdialog.cxx | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git src/Fl_Native_File_Chooser_Kdialog.cxx src/Fl_Native_File_Chooser_Kdialog.cxx
index 6fc27f1..a89a74a 100644
--- src/Fl_Native_File_Chooser_Kdialog.cxx
+++ src/Fl_Native_File_Chooser_Kdialog.cxx
@@ -208,7 +208,7 @@ char *Fl_Kdialog_Native_File_Chooser_Driver::parse_filter(const char *f) {
     char *lead = new char[r-p];
     memcpy(lead, p+1, (r-p)-1); lead[(r-p)-1] = 0;
     const char *r2 = strchr(r, '}');
-    if (!r2) return NULL;
+    if (!r2 || r2 == r + 1) return NULL;
     char *ends = new char[r2-r];
     memcpy(ends, r+1, (r2-r)-1); ends[(r2-r)-1] = 0;
     char *ptr;
@@ -249,11 +249,12 @@ void Fl_Kdialog_Native_File_Chooser_Driver::filter(const char *f) {
   char *part = strtok_r(f2, "\n", &ptr);
   while (part) {
     char *p = parse_filter(part);
-    if (!p) break;
-    _parsedfilt = strapp(_parsedfilt, p);
-    _parsedfilt = strapp(_parsedfilt, "\n");
-    delete[] p;
-    _nfilters++;
+    if (p) {
+      _parsedfilt = strapp(_parsedfilt, p);
+      _parsedfilt = strapp(_parsedfilt, "\n");
+      delete[] p;
+      _nfilters++;
+    }
     part = strtok_r(NULL, "\n", &ptr);
   }
   free(f2);
Direct Link to Message ]
 
     
Previous Message ]Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.