/*****************************************************************************
- * RRDtool 1.2.23 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.99907080300 Copyright by Tobi Oetiker, 1997-2007
*****************************************************************************
* rrd_open.c Open an RRD File
*****************************************************************************
{
#ifdef HAVE_MMAP
size_t _cnt = count;
- ssize_t _surplus = rrd_file->pos + _cnt - rrd_file->file_len;
+ ssize_t _surplus;
+ if (rrd_file->pos > rrd_file->file_len || _cnt == 0) /* EOF */
+ return 0;
+ if (buf == NULL)
+ return -1; /* EINVAL */
+ _surplus = rrd_file->pos + _cnt - rrd_file->file_len;
if (_surplus > 0) { /* short read */
_cnt -= _surplus;
}