_user_get_safemode_options() would touch the provided buffer even if there was

an error (and thus, would trash it).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12234 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2005-04-04 16:15:02 +00:00
parent 4d5f980d99
commit 56aa0c51dc

View File

@ -55,8 +55,9 @@ _user_get_safemode_option(const char *userParameter, char *userBuffer, size_t *_
originalBufferSize = bufferSize;
status_t status = get_safemode_option(parameter, buffer, &bufferSize);
if (user_strlcpy(userBuffer, buffer, originalBufferSize) < B_OK
|| user_memcpy(_userBufferSize, &bufferSize, sizeof(size_t)) < B_OK)
if (status == B_OK
&& (user_strlcpy(userBuffer, buffer, originalBufferSize) < B_OK
|| user_memcpy(_userBufferSize, &bufferSize, sizeof(size_t)) < B_OK))
return B_BAD_ADDRESS;
return status;