- Description:
Security Audit 5:13. Refix for using proper length on strncpy. Maximum Length is 512 characters. - Modified files: c_adlib/GKEngine.cs c_adlib/ad_gk/GnomeKeyring.cs c_adlib/ad_gk/native/ad_gk.c
This commit is contained in:
		
							
								
								
									
										13
									
								
								CASA.changes
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								CASA.changes
									
									
									
									
									
								
							| @@ -1,3 +1,14 @@ | |||||||
|  | ------------------------------------------------------------------- | ||||||
|  | Tue May  2 20:30:37 IST 2006 - lsreevatsa@novell.com | ||||||
|  | - Description: | ||||||
|  |   Security Audit 5:13.  Refix for using proper length on strncpy. | ||||||
|  |   Maximum Length is 512 characters. | ||||||
|  |    | ||||||
|  | - Modified files: | ||||||
|  |   c_adlib/GKEngine.cs | ||||||
|  |   c_adlib/ad_gk/GnomeKeyring.cs | ||||||
|  |   c_adlib/ad_gk/native/ad_gk.c | ||||||
|  |  | ||||||
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ||||||
| Tue May  2 12:37:22 IST 2006 - smanojna@novell.com | Tue May  2 12:37:22 IST 2006 - smanojna@novell.com | ||||||
| - Description:  | - Description:  | ||||||
| @@ -7,7 +18,7 @@ Tue May  2 12:37:22 IST 2006 - smanojna@novell.com | |||||||
|   This check is essential to protect CASA from possible buffer  |   This check is essential to protect CASA from possible buffer  | ||||||
|   overflow attacks. |   overflow attacks. | ||||||
|    |    | ||||||
|   Modified files:  | - Modified files:  | ||||||
|   casa.glade |   casa.glade | ||||||
|  |  | ||||||
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ||||||
|   | |||||||
| @@ -94,6 +94,8 @@ namespace Novell.CASA.DataEngines | |||||||
|                     itemId = (int)iEtor.Current; |                     itemId = (int)iEtor.Current; | ||||||
|                     itemInfo = GnomeKeyring.GKGetItemInfo(keyring,itemId); |                     itemInfo = GnomeKeyring.GKGetItemInfo(keyring,itemId); | ||||||
|                     attrList = GnomeKeyring.GKGetAttributeList(keyring,itemId); |                     attrList = GnomeKeyring.GKGetAttributeList(keyring,itemId); | ||||||
|  | 		    if(itemInfo.displayName==null) | ||||||
|  | 			continue; | ||||||
|  |  | ||||||
|                     XmlElement secretElem = doc.CreateElement(ConstStrings.CCF_SECRET); |                     XmlElement secretElem = doc.CreateElement(ConstStrings.CCF_SECRET); | ||||||
|                     XmlAttribute secIdAttr = doc.CreateAttribute(ConstStrings.CCF_ID); |                     XmlAttribute secIdAttr = doc.CreateAttribute(ConstStrings.CCF_ID); | ||||||
|   | |||||||
| @@ -50,9 +50,9 @@ namespace Novell.CASA.DataEngines.GK | |||||||
|         public int cTime; |         public int cTime; | ||||||
|         public NativeItemInfo() |         public NativeItemInfo() | ||||||
|         { |         { | ||||||
| 	/* The GUI allows 256 as the max number of chars for these items */ | 	/* The GUI allows 513 as the max number of chars for these items */ | ||||||
|             displayName = Marshal.AllocHGlobal(256); |             displayName = Marshal.AllocHGlobal(512 + 1); | ||||||
|             secret = Marshal.AllocHGlobal(256); |             secret = Marshal.AllocHGlobal(512 + 1); | ||||||
|         } |         } | ||||||
|         ~NativeItemInfo() |         ~NativeItemInfo() | ||||||
|         { |         { | ||||||
|   | |||||||
| @@ -748,9 +748,9 @@ void ItemGetInfoCb( GnomeKeyringResult result, | |||||||
|     }  |     }  | ||||||
|     else  |     else  | ||||||
|     { |     { | ||||||
| 	/* maxlen = 255. This should be one less than the size of  | 	/* maxlen = 512. This should be one less than the size of  | ||||||
| 	Novell.CASA.DataEngines.GK.NativeItemInfo.displayName */ | 	Novell.CASA.DataEngines.GK.NativeItemInfo.displayName */ | ||||||
| 	maxlen = sizeof (itemInfo->displayName);  | 	maxlen = 512;  | ||||||
| 	item = gnome_keyring_item_info_get_display_name(info); | 	item = gnome_keyring_item_info_get_display_name(info); | ||||||
| 	itemlen = strlen (item); | 	itemlen = strlen (item); | ||||||
| 	if (itemlen > maxlen) { | 	if (itemlen > maxlen) { | ||||||
| @@ -760,9 +760,9 @@ void ItemGetInfoCb( GnomeKeyringResult result, | |||||||
| 		itemInfo->displayName[itemlen] = '\0'; | 		itemInfo->displayName[itemlen] = '\0'; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	/* maxlen = 255. This should be one less than the size of  | 	/* maxlen = 512. This should be one less than the size of  | ||||||
| 	Novell.CASA.DataEngines.GK.NativeItemInfo.secret */ | 	Novell.CASA.DataEngines.GK.NativeItemInfo.secret */ | ||||||
| 	maxlen = sizeof (itemInfo->secret);  | 	maxlen = 512;  | ||||||
| 	item = gnome_keyring_item_info_get_secret(info); | 	item = gnome_keyring_item_info_get_secret(info); | ||||||
| 	itemlen = strlen (item); | 	itemlen = strlen (item); | ||||||
| 	if (itemlen > maxlen) { | 	if (itemlen > maxlen) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user