diff options
author | Wayne Davison <wayned@samba.org> | 2015-12-18 14:46:28 -0800 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2015-12-18 14:46:28 -0800 |
commit | cbc42b9c1668f0c11015c6eceec975b8656063f8 (patch) | |
tree | 8285cf2d853ca80639802b5d83aec7cada928201 | |
parent | 6ff5824c25cdc586b4cd18f1e90fe226f2bf7a59 (diff) | |
download | android_external_rsync-cbc42b9c1668f0c11015c6eceec975b8656063f8.tar.gz android_external_rsync-cbc42b9c1668f0c11015c6eceec975b8656063f8.tar.bz2 android_external_rsync-cbc42b9c1668f0c11015c6eceec975b8656063f8.zip |
Don't allow an empty flag name to --info & --debug.
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | OLDNEWS | 2 | ||||
-rw-r--r-- | options.c | 16 |
3 files changed, 12 insertions, 10 deletions
@@ -20,9 +20,13 @@ Changes since 3.1.1: right. - Don't create an empty backup dir for a transferred file that doesn't exist yet. + - Fixed a bug where --link-dest and --xattrs could cause rsync to exit if + a filename had a matching dir of the same name in the alt-dest area. - Allow more than 32 group IDs per user in the daemon's gid=LIST config. - Fix the logging of %b & %c via --log-file (daemon logging was already correct, as was --out-format='%b/%c'). + - Fix erroneous acceptance of --info=5 & --debug=5 (an empty flag name is + not valid). ENHANCEMENTS: @@ -3650,7 +3650,7 @@ Changes since 2.4.6: Partial Protocol History RELEASE DATE VER. DATE OF COMMIT* PROTOCOL - ?? Aug 2015 3.1.2 31 + ?? Dec 2015 3.1.2 31 22 Jun 2014 3.1.1 31 28 Sep 2013 3.1.0 31 Aug 2008 31 23 Sep 2011 3.0.9 30 @@ -411,16 +411,17 @@ static void parse_output_words(struct output_struct *words, short *levels, const char *s; int j, len, lev; - if (!str) - return; - - while (*str) { + for ( ; str; str = s) { if ((s = strchr(str, ',')) != NULL) len = s++ - str; else len = strlen(str); - while (len && isDigit(str+len-1)) - len--; + if (!len) + continue; + if (!isDigit(str)) { + while (len && isDigit(str+len-1)) + len--; + } lev = isDigit(str+len) ? atoi(str+len) : 1; if (lev > MAX_OUT_LEVEL) lev = MAX_OUT_LEVEL; @@ -448,9 +449,6 @@ static void parse_output_words(struct output_struct *words, short *levels, words[j].help, len, str); exit_cleanup(RERR_SYNTAX); } - if (!s) - break; - str = s; } } |