Modify makedefs to use dynamic buffers for reading.
This will prevent crashing due to excessively long lines.
This commit is contained in:
@@ -33,7 +33,7 @@ STATIC_DCL void FDECL(deliver_by_pline, (struct qtmsg *));
|
||||
STATIC_DCL void FDECL(deliver_by_window, (struct qtmsg *, int));
|
||||
STATIC_DCL boolean FDECL(skip_pager, (BOOLEAN_P));
|
||||
|
||||
static char in_line[QTEXT_IN_SIZ], out_line[QTEXT_OUTSIZ], cvt_buf[64];
|
||||
static char in_line[QTEXT_OUTSIZ], out_line[QTEXT_OUTSIZ], cvt_buf[64];
|
||||
static struct qtlists qt_list;
|
||||
static dlb *msg_file;
|
||||
/* used by ldrname() and neminame(), then copied into cvt_buf */
|
||||
@@ -459,7 +459,7 @@ struct qtmsg *qt_msg;
|
||||
long size;
|
||||
|
||||
for (size = 0; size < qt_msg->size; size += (long) strlen(in_line)) {
|
||||
(void) dlb_fgets(in_line, QTEXT_IN_SIZ, msg_file);
|
||||
(void) dlb_fgets(in_line, QTEXT_OUTSIZ, msg_file);
|
||||
convert_line();
|
||||
pline1(out_line);
|
||||
}
|
||||
@@ -487,7 +487,7 @@ int how;
|
||||
}
|
||||
#endif
|
||||
for (size = 0; size < qt_msg->size; size += (long) strlen(in_line)) {
|
||||
(void) dlb_fgets(in_line, QTEXT_IN_SIZ, msg_file);
|
||||
(void) dlb_fgets(in_line, QTEXT_OUTSIZ, msg_file);
|
||||
convert_line();
|
||||
putstr(datawin, 0, out_line);
|
||||
}
|
||||
@@ -497,7 +497,7 @@ int how;
|
||||
/* block messages delivered by window aren't kept in message history
|
||||
but can have a one-line summary which is put there for ^P recall */
|
||||
if (qt_msg->summary_size) {
|
||||
(void) dlb_fgets(in_line, QTEXT_IN_SIZ, msg_file);
|
||||
(void) dlb_fgets(in_line, QTEXT_OUTSIZ, msg_file);
|
||||
convert_line();
|
||||
putmsghistory(out_line, FALSE);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user