diff util-src/crypto.c @ 14186:d975d280baec

Merge 13.0->trunk
author Matthew Wild <mwild1@gmail.com>
date Mon, 25 May 2026 19:01:23 +0100
parents fbfc06c5f3a8 25beb66fab38
children
line wrap: on
line diff
--- a/util-src/crypto.c	Tue May 19 19:27:43 2026 +0100
+++ b/util-src/crypto.c	Mon May 25 19:01:23 2026 +0100
@@ -133,7 +133,7 @@
 	luaL_Buffer sigbuf;
 
 	size_t msg_len;
-	const unsigned char* msg = (unsigned char*)lua_tolstring(L, 2, &msg_len);
+	const unsigned char* msg = (unsigned char*)luaL_checklstring(L, 2, &msg_len);
 
 	size_t sig_len;
 	unsigned char *sig = NULL;
@@ -151,16 +151,13 @@
 		return 1;
 	}
 
-	// COMPAT w/ Lua 5.1
-	luaL_buffinit(L, &sigbuf);
-	sig = memset(luaL_prepbuffer(&sigbuf), 0, sig_len);
+	sig = (unsigned char *)luaL_buffinitsize(L, &sigbuf, sig_len);
 
 	if(EVP_DigestSign(md_ctx, sig, &sig_len, msg, msg_len) != 1) {
 		lua_pushnil(L);
 	}
 	else {
-		luaL_addsize(&sigbuf, sig_len);
-		luaL_pushresult(&sigbuf);
+		luaL_pushresultsize(&sigbuf, sig_len);
 		return 1;
 	}