From c25e7153b6735941d58d0f63d3a2a6b276125146 Mon Sep 17 00:00:00 2001 From: Uwe Bonnes Date: Wed, 13 Oct 1999 13:57:38 +0000 Subject: [PATCH] Account for the trailing NULL in GetLogicalDriveStringsA. --- files/drive.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/files/drive.c b/files/drive.c index a4a4637b169..3e969a5bc3a 100644 --- a/files/drive.c +++ b/files/drive.c @@ -1114,7 +1114,7 @@ UINT WINAPI GetLogicalDriveStringsA( UINT len, LPSTR buffer ) for (drive = count = 0; drive < MAX_DOS_DRIVES; drive++) if (DRIVE_IsValid(drive)) count++; - if (count * 4 * sizeof(char) <= len) + if ((count * 4) + 1 <= len) { LPSTR p = buffer; for (drive = 0; drive < MAX_DOS_DRIVES; drive++) @@ -1126,8 +1126,11 @@ UINT WINAPI GetLogicalDriveStringsA( UINT len, LPSTR buffer ) *p++ = '\0'; } *p = '\0'; + return count * 4; } - return count * 4 * sizeof(char); + else + return (count * 4) + 1;/* account for terminating null */ + /* The API tells about these different return values */ }