summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2009-03-23 15:48:16 +0000
committerCorinna Vinschen <corinna@vinschen.de>2009-03-23 15:48:16 +0000
commit7d2e8c04f21294840159ca8f7393eb713487f8a4 (patch)
treee5a3ddf99645019824a3e1b9694ab54993d74e10 /winsup/cygwin
parent1199a539792c7ab980d36a5e6c60e3f797f88179 (diff)
downloadcygnal-7d2e8c04f21294840159ca8f7393eb713487f8a4.tar.gz
cygnal-7d2e8c04f21294840159ca8f7393eb713487f8a4.tar.bz2
cygnal-7d2e8c04f21294840159ca8f7393eb713487f8a4.zip
* smallprint.cc (__small_vsprintf): Handle NULL PWCHAR and
PUNICODE_STRING arguments. (__small_vswprintf): Ditto.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/smallprint.cc9
2 files changed, 12 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 4dad20aa8..f79bdaf5b 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,11 @@
2009-03-23 Corinna Vinschen <corinna@vinschen.de>
+ * smallprint.cc (__small_vsprintf): Handle NULL PWCHAR and
+ PUNICODE_STRING arguments.
+ (__small_vswprintf): Ditto.
+
+2009-03-23 Corinna Vinschen <corinna@vinschen.de>
+
* include/asm/byteorder.h (__constant_ntohs): Remove declaration.
(__constant_ntohl): Ditto.
diff --git a/winsup/cygwin/smallprint.cc b/winsup/cygwin/smallprint.cc
index 0f307b0d2..9a5cd1ac0 100644
--- a/winsup/cygwin/smallprint.cc
+++ b/winsup/cygwin/smallprint.cc
@@ -188,11 +188,12 @@ __small_vsprintf (char *dst, const char *fmt, va_list ap)
break;
case 'W':
w = va_arg (ap, PWCHAR);
- RtlInitUnicodeString (&uw, w);
- us = &uw;
+ RtlInitUnicodeString (us = &uw, w ?: L"(null)");
goto wfillin;
case 'S':
us = va_arg (ap, PUNICODE_STRING);
+ if (!us)
+ RtlInitUnicodeString (us = &uw, L"(null)");
wfillin:
{
if (!sys_wcstombs (tmp, NT_MAX_PATH, us->Buffer,
@@ -438,10 +439,12 @@ __small_vswprintf (PWCHAR dst, const WCHAR *fmt, va_list ap)
break;
case L'W':
w = va_arg (ap, PWCHAR);
- RtlInitUnicodeString (us = &uw, w);
+ RtlInitUnicodeString (us = &uw, w ?: L"(null)");
goto fillin;
case L'S':
us = va_arg (ap, PUNICODE_STRING);
+ if (!us)
+ RtlInitUnicodeString (us = &uw, L"(null)");
fillin:
if (us->Length / sizeof (WCHAR) < n)
n = us->Length / sizeof (WCHAR);