diff options
| author | Karl Heuer | 1997-06-14 04:36:44 +0000 |
|---|---|---|
| committer | Karl Heuer | 1997-06-14 04:36:44 +0000 |
| commit | 5326c1d6879b987a9aa921ab49fda3421b54d18b (patch) | |
| tree | 8d7b3153e8ef0b2b4ee4081dbb9a28d26969d5c7 /lib-src | |
| parent | 12e36cdba6e04be2ef6aeb76f5419a620ba0eac4 (diff) | |
| download | emacs-5326c1d6879b987a9aa921ab49fda3421b54d18b.tar.gz emacs-5326c1d6879b987a9aa921ab49fda3421b54d18b.zip | |
(readline): Terminate buffer properly when EOF seen.
Test for valid pointer before dereferencing it.
Diffstat (limited to 'lib-src')
| -rw-r--r-- | lib-src/b2m.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib-src/b2m.c b/lib-src/b2m.c index 88d0acd5cd8..2eb6a0354b8 100644 --- a/lib-src/b2m.c +++ b/lib-src/b2m.c | |||
| @@ -211,12 +211,13 @@ readline (linebuffer, stream) | |||
| 211 | } | 211 | } |
| 212 | if (c == EOF) | 212 | if (c == EOF) |
| 213 | { | 213 | { |
| 214 | *p = '\0'; | ||
| 214 | chars_deleted = 0; | 215 | chars_deleted = 0; |
| 215 | break; | 216 | break; |
| 216 | } | 217 | } |
| 217 | if (c == '\n') | 218 | if (c == '\n') |
| 218 | { | 219 | { |
| 219 | if (p[-1] == '\r' && p > buffer) | 220 | if (p > buffer && p[-1] == '\r') |
| 220 | { | 221 | { |
| 221 | *--p = '\0'; | 222 | *--p = '\0'; |
| 222 | chars_deleted = 2; | 223 | chars_deleted = 2; |