Procházet zdrojové kódy

I really, really screwed up the semantics of BufferSize and BufferLimit.

tags/v0.9.3
Michael Brown před 17 roky
rodič
revize
9125070f51
1 změnil soubory, kde provedl 7 přidání a 6 odebrání
  1. 7
    6
      src/interface/pxe/pxe_preboot.c

+ 7
- 6
src/interface/pxe/pxe_preboot.c Zobrazit soubor

82
 
82
 
83
 	DBG ( "PXENV_GET_CACHED_INFO %d", get_cached_info->PacketType );
83
 	DBG ( "PXENV_GET_CACHED_INFO %d", get_cached_info->PacketType );
84
 
84
 
85
+	DBG ( " to %04x:%04x+%x", get_cached_info->Buffer.segment,
86
+	      get_cached_info->Buffer.offset, get_cached_info->BufferSize );
87
+
85
 	/* This is really, really awkward to support with our multiple
88
 	/* This is really, really awkward to support with our multiple
86
 	 * sources of options.
89
 	 * sources of options.
87
 	 */
90
 	 */
88
-	if ( get_cached_info->BufferLimit == 0 ) {
91
+	len = get_cached_info->BufferSize;
92
+	if ( len == 0 ) {
93
+		len = sizeof ( dhcp_basemem );
89
 		get_cached_info->Buffer.segment = rm_ds;
94
 		get_cached_info->Buffer.segment = rm_ds;
90
 		get_cached_info->Buffer.offset =
95
 		get_cached_info->Buffer.offset =
91
 			( unsigned int ) ( & __from_data16 ( dhcp_basemem ) );
96
 			( unsigned int ) ( & __from_data16 ( dhcp_basemem ) );
92
-		get_cached_info->BufferLimit = sizeof ( dhcp_basemem );
97
+		get_cached_info->BufferLimit = len;
93
 	}
98
 	}
94
 
99
 
95
-	DBG ( " to %04x:%04x+%x", get_cached_info->Buffer.segment,
96
-	      get_cached_info->Buffer.offset, get_cached_info->BufferLimit );
97
-
98
 	/* Allocate space for temporary copy */
100
 	/* Allocate space for temporary copy */
99
-	len = get_cached_info->BufferLimit;
100
 	data = malloc ( len );
101
 	data = malloc ( len );
101
 	if ( ! data ) {
102
 	if ( ! data ) {
102
 		DBG ( " out of memory" );
103
 		DBG ( " out of memory" );

Načítá se…
Zrušit
Uložit