dtcm: Coverity 88331 and 88169
authorPeter Howkins <flibble@users.sf.net>
Wed, 4 Jul 2018 22:26:52 +0000 (23:26 +0100)
committerPeter Howkins <flibble@users.sf.net>
Wed, 4 Jul 2018 22:26:52 +0000 (23:26 +0100)
cde/programs/dtcm/dtcm/dtcm_editor.c

index 4f472092d6e2097ef2061314f738df8f9b0653f3..dcaf43cb9b2450cf710515878e3b8c42a93674e6 100644 (file)
@@ -584,8 +584,10 @@ de_apply_proc(Widget w, XtPointer client_data, XtPointer data) {
        appt->count = old_attr_count;
        de->modified = False;
 
-       if (!str)
+       if (!str) {
+               free_appt_struct(&appt);
                return;
+       }
 
        /* we need to distinguish between whether the data is being 
           saved as part of application termination, or as part of 
@@ -614,6 +616,8 @@ de_apply_proc(Widget w, XtPointer client_data, XtPointer data) {
 
                                if (!fp) {
                                        XBell(dpy, 50);
+                                       free(str);
+                                       free_appt_struct(&appt);
                                        return;
                                }
 
@@ -638,6 +642,8 @@ de_apply_proc(Widget w, XtPointer client_data, XtPointer data) {
 
                        if (!fp) {
                                XBell(dpy, 50);
+                               free(str);
+                               free_appt_struct(&appt);
                                return;
                        }