Mercurial > vim
comparison src/gui_motif.c @ 34651:d299b4b3099f v9.1.0210
patch 9.1.0210: Motif: leaking memory when mui_mch_dialog() fails
Commit: https://github.com/vim/vim/commit/9ccc2972373c8310c20ae7621b9c634d0dc43e26
Author: Christian Brabandt <cb@256bit.org>
Date: Tue Mar 26 18:44:48 2024 +0100
patch 9.1.0210: Motif: leaking memory when mui_mch_dialog() fails
Problem: Motif: leaking memory when mui_mch_dialog() fails
(LuMingYinDetect)
Solution: When allocating the label using the XmStringCreateLtoR()
function fails, before returning also free the allocated
buttons pointer.
fixes: #14247
closes: #14280
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 26 Mar 2024 19:00:03 +0100 |
parents | f5675b905d89 |
children |
comparison
equal
deleted
inserted
replaced
34650:db219dbcb076 | 34651:d299b4b3099f |
---|---|
2730 // properly localized string, we use LtoR here. The symptom is that the | 2730 // properly localized string, we use LtoR here. The symptom is that the |
2731 // string is not shown properly in multiple lines as it does in native | 2731 // string is not shown properly in multiple lines as it does in native |
2732 // Motif. | 2732 // Motif. |
2733 label = XmStringCreateLtoR((char *)message, STRING_TAG); | 2733 label = XmStringCreateLtoR((char *)message, STRING_TAG); |
2734 if (label == NULL) | 2734 if (label == NULL) |
2735 { | |
2736 vim_free(buttons); | |
2735 return -1; | 2737 return -1; |
2738 } | |
2736 w = XtVaCreateManagedWidget("dialogMessage", | 2739 w = XtVaCreateManagedWidget("dialogMessage", |
2737 xmLabelGadgetClass, form, | 2740 xmLabelGadgetClass, form, |
2738 XmNlabelString, label, | 2741 XmNlabelString, label, |
2739 XmNalignment, XmALIGNMENT_BEGINNING, | 2742 XmNalignment, XmALIGNMENT_BEGINNING, |
2740 XmNtopAttachment, XmATTACH_FORM, | 2743 XmNtopAttachment, XmATTACH_FORM, |