From de90369c315afc62c4409a5df1a581fa466cb849 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Tue, 8 Nov 2011 20:49:07 +0100 Subject: [PATCH] Properly check sscanf return value. --- desktop/unx/source/start.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/desktop/unx/source/start.c b/desktop/unx/source/start.c index 9d95547856b4..b30efdca7e93 100644 --- a/desktop/unx/source/start.c +++ b/desktop/unx/source/start.c @@ -559,6 +559,7 @@ read_percent( ChildInfo *info, int *pPercent ) char *pBegin; char *pIter; + char c; /* from the last call */ int nNotProcessed = nRead - ( pNext - pBuffer ); @@ -598,7 +599,7 @@ read_percent( ChildInfo *info, int *pPercent ) return ProgressExit; else if ( !strncasecmp( pBegin, "restart", 7 ) ) return ProgressRestart; - else if ( sscanf( pBegin, "%d%%", pPercent ) ) + else if ( sscanf( pBegin, "%d%c", pPercent, &c ) == 2 && c == '%' ) return ProgressContinue; /* unexpected - let's exit the splash to be safe */