Security Advisories (6)
CVE-2006-4484 (2008-10-01)

Buffer overflow in the LWZReadByte_ function in the GD extension in allows remote attackers to have an unknown impact via a GIF file with input_code_size greater than MAX_LWZ_BITS, which triggers an overflow when initializing the table array.

CVE-2007-4769 (2008-01-09)

The regular expression parser in TCL before 8.4.17, as used in PostgreSQL 8.2 before 8.2.6, 8.1 before 8.1.11, 8.0 before 8.0.15, and 7.4 before 7.4.19, allows remote authenticated users to cause a denial of service (backend crash) via an out-of-bounds backref number.

CVE-2003-0107 (2003-03-07)

Buffer overflow in the gzprintf function in zlib 1.1.4, when zlib is compiled without vsnprintf or when long inputs are truncated using vsnprintf, allows attackers to cause a denial of service or possibly execute arbitrary code.

CVE-2007-4772 (2008-01-09)

The regular expression parser in TCL before 8.4.17, as used in PostgreSQL 8.2 before 8.2.6, 8.1 before 8.1.11, 8.0 before 8.0.15, and 7.4 before 7.4.19, allows context-dependent attackers to cause a denial of service (infinite loop) via a crafted regular expression.

CVE-2007-6067 (2008-01-09)

Algorithmic complexity vulnerability in the regular expression parser in TCL before 8.4.17, as used in PostgreSQL 8.2 before 8.2.6, 8.1 before 8.1.11, 8.0 before 8.0.15, and 7.4 before 7.4.19, allows remote authenticated users to cause a denial of service (memory consumption) via a crafted "complex" regular expression with doubly-nested states.

CVE-2017-12652 (2019-07-10)

libpng before 1.6.32 does not properly check the length of chunks against the user limit.

NAME

Tk::Dialog - Perl/Tk Dialog widget

SYNOPSIS

require Tk::Dialog;

$DialogRef = $widget->Dialog(
    -title          => $title,
    -text           => $text,
    -bitmap         => $bitmap,
    -default_button => $default_button,
    -buttons        => [@button_labels],
);

$selected = $DialogRef->Show(?-global?);

DESCRIPTION

This is an OO implementation of `tk_dialog'. First, create all your Dialog objects during program initialization. When it's time to use a dialog, invoke the Show method on a dialog object; the method then displays the dialog, waits for a button to be invoked, and returns the text label of the selected button.

A Dialog object essentially consists of two subwidgets: a Label widget for the bitmap and a Label wigdet for the text of the dialog. If required, you can invoke the `configure' method to change any characteristic of these subwidgets.

Because a Dialog object is a Toplevel widget all the 'composite' base class methods are available to you.

Advertised widgets: bitmap, message.

1)

Call the constructor to create the dialog object, which in turn returns a blessed reference to the new composite widget:

require Tk::Dialog;

$DialogRef = $widget->Dialog(
    -title          => $title,
    -text           => $text,
    -bitmap         => $bitmap,
    -default_button => $default_button,
    -buttons        => [@button_labels],
);
  • mw

    a widget reference, usually the result of a MainWindow->new call.

  • title

    Title to display in the dialog's decorative frame.

  • text

    Message to display in the dialog widget.

  • bitmap

    Bitmap to display in the dialog.

  • default_button

    Text label of the button that is to display the default ring (''signifies no default button).

  • button_labels

    A reference to a list of one or more strings to display in buttons across the bottom of the dialog.

2)

Invoke the Show method on a dialog object

$button_label = $DialogRef->Show;

This returns the text label of the selected button.

(Note: you can request a global grab by passing the string -global to the Show method.)

SEE ALSO

Tk::DialogBox

KEYWORDS

window, dialog, dialogbox

AUTHOR

Stephen O. Lidie, Lehigh University Computing Center. 94/12/27 lusol@Lehigh.EDU (based on John Stoffel's idea).