diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-08-30 05:33:49 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:58:25 -0500 |
commit | f3d946646975cc04c5abd6b41adaf547175d6aab (patch) | |
tree | 3e7d21a51471ba7316f33a4c8d13a7a4e1cde98a /source4 | |
parent | e64fce8b883a49a8ecb6f0e4d326d3b5f11d2282 (diff) | |
download | samba-f3d946646975cc04c5abd6b41adaf547175d6aab.tar.gz samba-f3d946646975cc04c5abd6b41adaf547175d6aab.tar.bz2 samba-f3d946646975cc04c5abd6b41adaf547175d6aab.zip |
r2102: fixed a race condition when handling dos errors that are in our
table. Should get rid of the static buffer completely at some point.
(This used to be commit e0bda611121ed1f4afc2bfe83853e5521c494164)
Diffstat (limited to 'source4')
-rw-r--r-- | source4/libcli/util/doserr.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/source4/libcli/util/doserr.c b/source4/libcli/util/doserr.c index c4ec869961..b8605864fc 100644 --- a/source4/libcli/util/doserr.c +++ b/source4/libcli/util/doserr.c @@ -22,13 +22,12 @@ #include "includes.h" -typedef const struct -{ +struct werror_code_struct { const char *dos_errstr; WERROR werror; -} werror_code_struct; +}; -werror_code_struct dos_errs[] = +static const struct werror_code_struct dos_errs[] = { { "WERR_OK", WERR_OK }, { "WERR_BADFILE", WERR_BADFILE }, @@ -79,8 +78,6 @@ const char *win_errstr(WERROR werror) static pstring msg; int idx = 0; - slprintf(msg, sizeof(msg), "DOS code 0x%08x", W_ERROR_V(werror)); - while (dos_errs[idx].dos_errstr != NULL) { if (W_ERROR_V(dos_errs[idx].werror) == W_ERROR_V(werror)) @@ -88,5 +85,7 @@ const char *win_errstr(WERROR werror) idx++; } + slprintf(msg, sizeof(msg), "DOS code 0x%08x", W_ERROR_V(werror)); + return msg; } |