]> git.meshlink.io Git - meshlink/commitdiff
Make sure meshlink_strerror() always returns a valid pointer to a string.
authorGuus Sliepen <guus@sliepen.org>
Wed, 30 Jul 2014 09:05:08 +0000 (11:05 +0200)
committerGuus Sliepen <guus@sliepen.org>
Wed, 30 Jul 2014 09:05:08 +0000 (11:05 +0200)
src/meshlink.c
src/meshlink.h

index 80404370cab427f045fe51bfc64b56c879e21cc9..f4e213c5d7fa3887dc3799dbda0c13e439c98344 100644 (file)
@@ -630,6 +630,8 @@ static const char *errstr[] = {
 };
 
 const char *meshlink_strerror(meshlink_errno_t err) {
+       if(err < 0 || err >= sizeof errstr / sizeof *errstr)
+               return "Invalid error code";
        return errstr[err];
 }
 
index 39f278d22a08d9e21cc47df244978480cd41fa2d..7fd71fe8ea9676e1e5d84e800b6ee43bff878dfa 100644 (file)
@@ -72,6 +72,7 @@ struct meshlink_channel {
  *  @param err      An error code returned by MeshLink.
  *
  *  @return         A pointer to a string containing the description of the error code.
+ *                  This function will always return a valid pointer, even if an invalid error code has been passed.
  */
 extern const char *meshlink_strerror(meshlink_errno_t err);