View | Details | Raw Unified
Collapse All | Expand All

(-) generic/tkImgGIF.c (+6 lines)
 Lines 826-831    Link Here 
		Tcl_PosixError(interp), (char *) NULL);
		Tcl_PosixError(interp), (char *) NULL);
	return TCL_ERROR;
	return TCL_ERROR;
    }
    }
    if (initialCodeSize > MAX_LWZ_BITS) {
	Tcl_SetResult(interp, "malformed image", TCL_STATIC);
	return TCL_ERROR;
    }
    if (transparent != -1) {
    if (transparent != -1) {
	cmap[transparent][CM_RED] = 0;
	cmap[transparent][CM_RED] = 0;
	cmap[transparent][CM_GREEN] = 0;
	cmap[transparent][CM_GREEN] = 0;
(-) tests/imgPhoto.test (+29 lines)
 Lines 681-686    Link Here 
    image delete $i
    image delete $i
}
}
test imgPhoto-14.4 {GIF buffer overflow} -setup {
    set i [image create photo]
} -body {
    # This crashes Tk up to 8.4.17 and 8.5.0
    $i configure -data {
	R0lGODlhCgAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/
	AP//AAAA//8A/wD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
	AAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBm
	mQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/
	AAD/MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMz
	mTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPM
	ADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYAM2YAZmYA
	mWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZ
	AGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/
	mWb/zGb//5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lm
	AJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnM
	mZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA/8wz
	AMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZ
	mcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8A
	AP8AM/8AZv8Amf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9m
	mf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//MZv/Mmf/MzP/M////
	AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAKAAoAABUSAAD/HEiwoMGD
	CBMqXMiwYcKAADs=
    } 
} -cleanup {
    image delete $i
} -returnCodes error -result {malformed image}
test imgPhoto-15.1 {photo images can fail to allocate memory gracefully} \
test imgPhoto-15.1 {photo images can fail to allocate memory gracefully} \
	{nonPortable} {
	{nonPortable} {
    # This is not portable to very large machines with more around
    # This is not portable to very large machines with more around