From: Ben Pfaff Date: Wed, 6 Jan 2016 01:45:37 +0000 (-0800) Subject: segment: Fix buffer overrun error in segmenter_detect_command_name__(). X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp;a=commitdiff_plain;h=bc6c656d60d5140ea59eec9484bbd0e245eee890 segment: Fix buffer overrun error in segmenter_detect_command_name__(). Found by valgrind. --- diff --git a/src/language/lexer/segment.c b/src/language/lexer/segment.c index 0c4a6bd800..52ff37a457 100644 --- a/src/language/lexer/segment.c +++ b/src/language/lexer/segment.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2010, 2011, 2013 Free Software Foundation, Inc. + Copyright (C) 2010, 2011, 2013, 2016 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1010,6 +1010,9 @@ segmenter_detect_command_name__ (const char *input, size_t n, int ofs) ofs += mblen; } + if (!ofs) + return 0; + if (input[ofs - 1] == '.') ofs--;