Check LMS offsets are sane at runtime

Signed-off-by: Raef Coles <raef.coles@arm.com>
diff --git a/library/lms.c b/library/lms.c
index adba195..296adce 100644
--- a/library/lms.c
+++ b/library/lms.c
@@ -733,6 +733,12 @@
      */
     ctx->q_next_usable_key += 1;
 
+    if ( MBEDTLS_LMS_SIG_LEN(ctx->params.type, ctx->params.otstype)
+         < SIG_OTS_SIG_OFFSET )
+    {
+        return MBEDTLS_ERR_LMS_BAD_INPUT_DATA;
+    }
+
     ret = mbedtls_lmots_sign( &ctx->ots_private_keys[q_leaf_identifier],
                               f_rng, p_rng, msg, msg_size,
                               sig + SIG_OTS_SIG_OFFSET,