[pxe] Fix a typo in PXENV_GET_CACHED_INFO that broke Altiris
authorMichael Brown <mcb30@etherboot.org>
Tue, 1 Jul 2008 01:35:51 +0000 (18:35 -0700)
committerMichael Brown <mcb30@etherboot.org>
Tue, 1 Jul 2008 01:35:51 +0000 (18:35 -0700)
__from_data16 takes the value pointed to, rather than the pointer
itself.  This was silently causing gPXE to return a dud buffer pointer
when the caller did not supply a buffer for PXENV_GET_CACHED_INFO.

src/interface/pxe/pxe_preboot.c

index 302953e..3574c7e 100644 (file)
@@ -197,7 +197,7 @@ PXENV_EXIT_t pxenv_get_cached_info ( struct s_PXENV_GET_CACHED_INFO
                 */
                get_cached_info->Buffer.segment = rm_ds;
                get_cached_info->Buffer.offset =
-                       ( unsigned ) ( __from_data16 ( info ) );
+                       ( unsigned ) ( & __from_data16 ( *info ) );
                get_cached_info->BufferSize = sizeof ( *info );
                DBG ( " returning %04x:%04x+%04x['%x']",
                      get_cached_info->Buffer.segment,