diff options
author | msvensson@neptunus.(none) <> | 2006-07-24 18:05:00 +0200 |
---|---|---|
committer | msvensson@neptunus.(none) <> | 2006-07-24 18:05:00 +0200 |
commit | bbf6c985c8979d72ccb314768deb2ed2e71dfa14 (patch) | |
tree | f4a14ddae682a0477f5f3db598ec3c4d7a7ac802 /extra | |
parent | 2ea50d6d8474ebba82bab36ebc9376b0cb60e2ea (diff) | |
download | mariadb-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.c | 5 |
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 |