summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authormsvensson@neptunus.(none) <>2006-07-24 18:05:00 +0200
committermsvensson@neptunus.(none) <>2006-07-24 18:05:00 +0200
commitbbf6c985c8979d72ccb314768deb2ed2e71dfa14 (patch)
treef4a14ddae682a0477f5f3db598ec3c4d7a7ac802 /extra
parent2ea50d6d8474ebba82bab36ebc9376b0cb60e2ea (diff)
downloadmariadb-git-bbf6c985c8979d72ccb314768deb2ed2e71dfa14.tar.gz
Bug#20145 perror segfault when call it with error nr
- Add test case(execute perror) - Check if strerror has returned NULL and set msg to "Unknown Error" in that case - Thanks to Steven Xie for pointing out how to fix.
Diffstat (limited to 'extra')
-rw-r--r--extra/perror.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/extra/perror.c b/extra/perror.c
index 82311c1b2c9..531d30dae86 100644
--- a/extra/perror.c
+++ b/extra/perror.c
@@ -218,8 +218,11 @@ int main(int argc,char *argv[])
On some system, like NETWARE, strerror(unknown_error) returns a
string 'Unknown Error'. To avoid printing it we try to find the
error string by asking for an impossible big error message.
+
+ On Solaris 2.8 it might return NULL
*/
- msg= strerror(10000);
+ if ((msg= strerror(10000)) == NULL)
+ msg= "Unknown Error";
/*
Allocate a buffer for unknown_error since strerror always returns