Author: pluknet
Date: Mon Apr 18 08:49:25 2011
New Revision: 220765
URL: http://svn.freebsd.org/changeset/base/220765

Log:
  MFC r220319:
  
   Do not increment num_args if strsep(3) returned an empty field.
   That fixes devstat_buildmatch(3) crashes with certain strings.
  
  Reported by:  arundel

Modified:
  stable/8/lib/libdevstat/devstat.c
Directory Properties:
  stable/8/lib/libdevstat/   (props changed)

Modified: stable/8/lib/libdevstat/devstat.c
==============================================================================
--- stable/8/lib/libdevstat/devstat.c   Mon Apr 18 01:02:43 2011        
(r220764)
+++ stable/8/lib/libdevstat/devstat.c   Mon Apr 18 08:49:25 2011        
(r220765)
@@ -1014,11 +1014,12 @@ devstat_buildmatch(char *match_str, stru
         * Break the (comma delimited) input string out into separate strings.
         */
        for (tempstr = tstr, num_args  = 0; 
-            (*tempstr = strsep(&match_str, ",")) != NULL && (num_args < 5); 
-            num_args++)
-               if (**tempstr != '\0')
+            (*tempstr = strsep(&match_str, ",")) != NULL && (num_args < 5);)
+               if (**tempstr != '\0') {
+                       num_args++;
                        if (++tempstr >= &tstr[5])
                                break;
+               }
 
        /* The user gave us too many type arguments */
        if (num_args > 3) {
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to