diff gui/skin/skin.c @ 30404:5fbb30fa62cc

Fix newline removal code that might read and write out of bounds.
author reimar
date Wed, 27 Jan 2010 19:42:24 +0000
parents 0f1b5b68af32
children 6ef41a766a74
line wrap: on
line diff
--- a/gui/skin/skin.c	Wed Jan 27 19:15:49 2010 +0000
+++ b/gui/skin/skin.c	Wed Jan 27 19:42:24 2010 +0000
@@ -717,8 +717,8 @@
   {
    linenumber++;
 
-   c=tmp[ strlen( tmp ) - 1 ]; if ( c == '\n' || c == '\r' ) tmp[ strlen( tmp ) - 1 ]=0;
-   c=tmp[ strlen( tmp ) - 1 ]; if ( c == '\n' || c == '\r' ) tmp[ strlen( tmp ) - 1 ]=0;
+   // remove any kind of newline, if any
+   tmp[strcspn(tmp, "\n\r")] = 0;
    for ( c=0;c<(int)strlen( tmp );c++ )
     if ( tmp[c] == ';' )
      {