|
Lines 595-606
static int
Link Here
|
| 595 |
key_try_load_public(Key *k, const char *filename, char **commentp) |
595 |
key_try_load_public(Key *k, const char *filename, char **commentp) |
| 596 |
{ |
596 |
{ |
| 597 |
FILE *f; |
597 |
FILE *f; |
| 598 |
char line[4096]; |
598 |
char line[16384]; |
| 599 |
char *cp; |
599 |
char *cp; |
|
|
600 |
int c, lineno = 0; |
| 600 |
|
601 |
|
| 601 |
f = fopen(filename, "r"); |
602 |
f = fopen(filename, "r"); |
| 602 |
if (f != NULL) { |
603 |
if (f != NULL) { |
| 603 |
while (fgets(line, sizeof(line), f)) { |
604 |
while (fgets(line, sizeof(line), f)) { |
|
|
605 |
lineno++; |
| 606 |
if (line[strlen(line) - 1] != '\n') { |
| 607 |
error("Excessively long line in %s line %d", |
| 608 |
filename, lineno); |
| 609 |
/* discard remainder of line */ |
| 610 |
while ((c = fgetc(f) != EOF) && c != '\n') |
| 611 |
; /* nothing */ |
| 612 |
break; |
| 613 |
} |
| 604 |
line[sizeof(line)-1] = '\0'; |
614 |
line[sizeof(line)-1] = '\0'; |
| 605 |
cp = line; |
615 |
cp = line; |
| 606 |
switch (*cp) { |
616 |
switch (*cp) { |