svn commit: samba r18940 - in branches/SAMBA_3_0/source/rpc_server:
.
jerry at samba.org
jerry at samba.org
Wed Sep 27 03:43:43 GMT 2006
Author: jerry
Date: 2006-09-27 03:43:42 +0000 (Wed, 27 Sep 2006)
New Revision: 18940
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=18940
Log:
Fix a few memory corruption bugs to make CreateKey() and DeleteKey() work
Modified:
branches/SAMBA_3_0/source/rpc_server/srv_winreg_nt.c
Changeset:
Modified: branches/SAMBA_3_0/source/rpc_server/srv_winreg_nt.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_server/srv_winreg_nt.c 2006-09-27 03:34:50 UTC (rev 18939)
+++ branches/SAMBA_3_0/source/rpc_server/srv_winreg_nt.c 2006-09-27 03:43:42 UTC (rev 18940)
@@ -1189,7 +1189,9 @@
/* copy the new key name (just the lower most keyname) */
- pstrcpy( name, ptr+1 );
+ if ( (name = talloc_strdup( p->mem_ctx, ptr+1 )) == NULL ) {
+ return WERR_NOMEM;
+ }
}
else {
/* use the existing open key information */
@@ -1334,11 +1336,15 @@
pstrcpy( newkeyname, name );
ptr = strrchr( newkeyname, '\\' );
*ptr = '\0';
- pstrcpy( name, ptr+1 );
+ if ( (name = talloc_strdup( p->mem_ctx, ptr+1 )) == NULL ) {
+ result = WERR_NOMEM;
+ goto done;
+ }
result = open_registry_key( p, &newparent_handle, &newparentinfo, parent, newkeyname, (REG_KEY_READ|REG_KEY_WRITE) );
- if ( !W_ERROR_IS_OK(result) )
- return result;
+ if ( !W_ERROR_IS_OK(result) ) {
+ goto done;
+ }
}
else {
/* use the existing open key information */
More information about the samba-cvs
mailing list