david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

Don't complain when callers provide too-short buffers for

PXENV_GET_CACHED_INFO.  NTLDR does this.
This commit is contained in:
Michael Brown 2007-12-07 01:06:37 +00:00
parent 698b5bc887
commit 6b0e147e0d
1 changed files with 6 additions and 7 deletions

View File

@ -168,15 +168,14 @@ PXENV_EXIT_t pxenv_get_cached_info ( struct s_PXENV_GET_CACHED_INFO
get_cached_info->BufferLimit );
} else {
/* Copy packet to client buffer */
if ( len < sizeof ( cached_info[idx] ) ) {
DBG ( " buffer too short" );
goto err;
}
if ( len > sizeof ( cached_info[idx] ) )
len = sizeof ( cached_info[idx] );
if ( len < sizeof ( cached_info[idx] ) )
DBG ( " buffer may be too short" );
buffer = real_to_user ( get_cached_info->Buffer.segment,
get_cached_info->Buffer.offset );
copy_to_user ( buffer, 0, &cached_info[idx],
sizeof ( cached_info[idx] ) );
get_cached_info->BufferSize = sizeof ( cached_info[idx] );
copy_to_user ( buffer, 0, &cached_info[idx], len );
get_cached_info->BufferSize = len;
}
get_cached_info->Status = PXENV_STATUS_SUCCESS;