From 8a080be4ad7fa170ff777791e12a93754c4c6daa Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Fri, 4 Apr 2014 11:48:32 +0200 Subject: abis: Check for failure of ftell In case ftell -1 will be returned. Coverity complained that the pos we pass to fseek might be negative. In case the ftell fails we are at the last line for sure. Fixes: Coverity CID 1040721 --- openbsc/src/libbsc/abis_nm.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'openbsc') diff --git a/openbsc/src/libbsc/abis_nm.c b/openbsc/src/libbsc/abis_nm.c index 5a968492d..c29e21b3d 100644 --- a/openbsc/src/libbsc/abis_nm.c +++ b/openbsc/src/libbsc/abis_nm.c @@ -829,6 +829,11 @@ static int is_last_line(FILE *stream) /* check if we're sending the last line */ pos = ftell(stream); + + /* Did ftell fail? Then we are at the end for sure */ + if (pos < 0) + return 1; + if (!fgets(next_seg_buf, sizeof(next_seg_buf)-2, stream)) { fseek(stream, pos, SEEK_SET); return 1; -- cgit v1.2.3