]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink.c
Make sure meshlink_strerror() always returns a valid pointer to a string.
[meshlink] / src / meshlink.c
index b27d97c6643ec4d0865a2d3bde5630ce2c5c4116..f4e213c5d7fa3887dc3799dbda0c13e439c98344 100644 (file)
@@ -629,8 +629,10 @@ static const char *errstr[] = {
        [MESHLINK_ENOENT] = "No such node",
 };
 
-const char *meshlink_strerror(meshlink_errno_t errno) {
-       return errstr[errno];
+const char *meshlink_strerror(meshlink_errno_t err) {
+       if(err < 0 || err >= sizeof errstr / sizeof *errstr)
+               return "Invalid error code";
+       return errstr[err];
 }
 
 static bool ecdsa_keygen(meshlink_handle_t *mesh) {