In clone_single_bp, don't overwrite error status, instead use it to shortcut
diff --git a/proc.c b/proc.c
index d12faef..cc45882 100644
--- a/proc.c
+++ b/proc.c
@@ -308,7 +308,10 @@
 	struct breakpoint *bp = value;
 	struct clone_single_bp_data *data = u;
 
-	data->error = 0;
+	/* Don't bother if there were errors anyway.  */
+	if (data->error != 0)
+		return;
+
 	struct breakpoint *clone = malloc(sizeof(*clone));
 	if (clone == NULL
 	    || breakpoint_clone(clone, data->new_proc,