Changeset: 2ee558965089 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2ee558965089
Modified Files:
common/stream/stream.c
Branch: Jan2014
Log Message:
Crash prevention: only subtract value if result doesn't overflow.
diffs (33 lines):
diff --git a/common/stream/stream.c b/common/stream/stream.c
--- a/common/stream/stream.c
+++ b/common/stream/stream.c
@@ -3104,10 +3104,12 @@ bstream_read(bstream *s, size_t size)
return 0;
if (s->pos > 0) {
- if (s->pos < s->len)
+ if (s->pos < s->len) {
/* move all data and end of string marker */
memmove(s->buf, s->buf + s->pos, s->len - s->pos + 1);
- s->len -= s->pos;
+ s->len -= s->pos;
+ } else
+ s->len = 0;
s->pos = 0;
}
@@ -3152,10 +3154,12 @@ bstream_readline(bstream *s)
return 0;
if (s->pos > 0 && s->len + size >= s->size) {
- if (s->pos < s->len)
+ if (s->pos < s->len) {
/* move all data and end of string marker */
memmove(s->buf, s->buf + s->pos, s->len - s->pos + 1);
- s->len -= s->pos;
+ s->len -= s->pos;
+ } else
+ s->len = 0;
s->pos = 0;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list