Don't overflow the buffer passed to getlin().
XtPointer client_data;
XtPointer call_data;
{
+ int len;
char *s;
Widget dialog = (Widget) client_data;
s = (char *) GetDialogResponse(dialog);
- Strcpy(getline_input, s);
+ len = strlen(s);
+
+ /* Truncate input if necessary */
+ if (len >= BUFSZ) len = BUFSZ - 1;
+
+ (void) strncpy(getline_input, s, len);
+ getline_input[len] = '\0';
XtFree(s);
+
nh_XtPopdown(XtParent(dialog));
exit_x_event = TRUE;
}