wok-current diff syslinux/stuff/iso2exe/bootlinux.c @ rev 25725

Patch openssh CVE-2024-6387
author Stanislas Leduc <shann@slitaz.org>
date Mon Jul 01 15:09:44 2024 +0000 (2 weeks ago)
parents 6aed6fc5819d
children
line diff
     1.1 --- a/syslinux/stuff/iso2exe/bootlinux.c	Sat Dec 27 17:56:57 2014 +0100
     1.2 +++ b/syslinux/stuff/iso2exe/bootlinux.c	Mon Jul 01 15:09:44 2024 +0000
     1.3 @@ -139,7 +139,7 @@
     1.4  #endasm
     1.5  }
     1.6  
     1.7 -static unsigned zimage = 0;
     1.8 +static unsigned vgamode, zimage = 0;
     1.9  static unsigned getss(void)
    1.10  {
    1.11  #asm
    1.12 @@ -260,6 +260,7 @@
    1.13  			syssize = LONG(buffer + SYSSIZE) << 4;
    1.14  			if (!syssize) syssize = 0x7F000;
    1.15  			setup = (1 + buffer[SETUPSECTORS]) << 9;
    1.16 +			vgamode = WORD(buffer + VIDEOMODE);
    1.17  			if (setup == 512) {
    1.18  #ifdef LINUX001_SUPPORT
    1.19  				if (WORD(buffer + 0x3F) == 0x3AE8) /* linux 0.01 */
    1.20 @@ -355,10 +356,26 @@
    1.21  
    1.22  void bootlinux(char *cmdline)
    1.23  {
    1.24 +	char *s;
    1.25 +	
    1.26 +	s = strstr(cmdline," vga=");
    1.27 +	if (s) {
    1.28 +		vgamode = -1;
    1.29 +		s += 5;
    1.30 +		switch (*s | 0x20) {
    1.31 +		case 'a' : vgamode--;
    1.32 +		case 'e' : vgamode--;
    1.33 +		case 'n' : break;
    1.34 +		default  : vgamode = atoi(s);
    1.35 +		}
    1.36 +	}
    1.37  	dosshutdown();
    1.38  #asm
    1.39  	cld
    1.40  	mov	es, _setupseg
    1.41 +	mov	ax, _vgamode
    1.42 +	seg	es
    1.43 +	mov	VIDEOMODE, ax
    1.44  	mov	ax, _setup_version
    1.45  	cmp	ax, #0x200
    1.46  	jb	noinitrd