浏览代码

busybox: fix regression in handling non-existant find path arguments (#19439)

Signed-off-by: Felix Fietkau <[email protected]>

SVN-Revision: 45321
Felix Fietkau 10 年之前
父节点
当前提交
c99d9afff3
共有 1 个文件被更改,包括 31 次插入0 次删除
  1. 31 0
      package/utils/busybox/patches/280-fix_find_regression.patch

+ 31 - 0
package/utils/busybox/patches/280-fix_find_regression.patch

@@ -0,0 +1,31 @@
+find: fix regression in status processing for path arguments
+
+Regression added in commit 14158b4127dba30466c50147b868a6a89702960b
+"find: add optional support for '-exec ... {} +'"
+
+This commit causes find to exit on the first path argument that was not
+found, which breaks existing scripts and is incompatible to other
+implementations.
+
+Instead of exiting on the first failure, return EXIT_FAILURE at the end
+if any error occurred.
+
+Signed-off-by: Felix Fietkau <[email protected]>
+
+--- a/findutils/find.c
++++ b/findutils/find.c
+@@ -1460,12 +1460,10 @@ int find_main(int argc UNUSED_PARAM, cha
+ 				NULL,           /* user data */
+ 				0)              /* depth */
+ 		) {
+-			status = EXIT_FAILURE;
+-			goto out;
++			status |= EXIT_FAILURE;
+ 		}
+ 	}
+ 
+-	IF_FEATURE_FIND_EXEC_PLUS(status = flush_exec_plus();)
+-out:
++	IF_FEATURE_FIND_EXEC_PLUS(status |= flush_exec_plus();)
+ 	return status;
+ }