diff --git a/gnu/lib/libdialog/checklist.c b/gnu/lib/libdialog/checklist.c index 0e8e419e2fa..bc6bcba21e0 100644 --- a/gnu/lib/libdialog/checklist.c +++ b/gnu/lib/libdialog/checklist.c @@ -214,7 +214,7 @@ draw: } delwin(save); } - else { + else if (result) { *result = '\0'; for (i = 0; i < item_no; i++) { if (status[i]) { diff --git a/gnu/lib/libdialog/menubox.c b/gnu/lib/libdialog/menubox.c index cc582110fbd..ef945af0ae6 100644 --- a/gnu/lib/libdialog/menubox.c +++ b/gnu/lib/libdialog/menubox.c @@ -203,7 +203,7 @@ draw: } delwin(save); } - else + else if (result) strcpy(result, items[(scroll + choice) * 2]); delwin(menu); delwin(dialog); diff --git a/gnu/lib/libdialog/radiolist.c b/gnu/lib/libdialog/radiolist.c index d368944790c..88fee25fd1c 100644 --- a/gnu/lib/libdialog/radiolist.c +++ b/gnu/lib/libdialog/radiolist.c @@ -222,7 +222,7 @@ draw: } delwin(save); } - else { + else if (result) { *result = '\0'; for (i = 0; i < item_no; i++) { if (status[i]) {