3afbd0d
diff --git a/src/general.c b/src/general.c
3afbd0d
index c4d1f55..bacdd81 100644
3afbd0d
--- a/src/general.c
3afbd0d
+++ b/src/general.c
3afbd0d
@@ -272,6 +272,8 @@ static const struct sinfo {
Adam Tkac 6bb7cef
   SINFO( nodata,              "No such data"                                 )
Adam Tkac 6bb7cef
 };
Adam Tkac 6bb7cef
 
Adam Tkac 6bb7cef
+static const char *unknown_error_str = "unknown error code";
Adam Tkac 6bb7cef
+
Adam Tkac 6bb7cef
 static int si_compar(const void *key, const void *elem) {
Adam Tkac 6bb7cef
   const adns_status *st= key;
Adam Tkac 6bb7cef
   const struct sinfo *si= elem;
3afbd0d
@@ -288,7 +290,7 @@ const char *adns_strerror(adns_status st) {
Adam Tkac 6bb7cef
   const struct sinfo *si;
Adam Tkac 6bb7cef
 
Adam Tkac 6bb7cef
   si= findsinfo(st);
Adam Tkac 6bb7cef
-  return si->string;
Adam Tkac 6bb7cef
+  return (si == NULL) ? unknown_error_str : si->string;
Adam Tkac 6bb7cef
 }
Adam Tkac 6bb7cef
 
Adam Tkac 6bb7cef
 const char *adns_errabbrev(adns_status st) {