libctrl: Don't overwrite error reply if the verify function sets one
diff --git a/openbsc/src/libctrl/control_cmd.c b/openbsc/src/libctrl/control_cmd.c
index 818c0d5..7a75e0e 100644
--- a/openbsc/src/libctrl/control_cmd.c
+++ b/openbsc/src/libctrl/control_cmd.c
@@ -137,7 +137,9 @@
 		if (cmd_el->verify) {
 			if ((ret = cmd_el->verify(command, command->value, data))) {
 				ret = CTRL_CMD_ERROR;
-				command->reply = "Value failed verification.";
+				/* If verify() set an appropriate error message, don't change it. */
+				if (!command->reply)
+					command->reply = "Value failed verification.";
 				goto out;
 			}
 		} else if (cmd_el->param) {