s3-spoolss: Dont wipe out all drivers when only one should be deleted.
authorGünther Deschner <gd@samba.org>
Tue, 8 Feb 2011 16:19:23 +0000 (17:19 +0100)
committerGünther Deschner <gd@samba.org>
Tue, 8 Feb 2011 17:11:48 +0000 (18:11 +0100)
Great catch from Bjoern Baumbach <bb@sernet.de> !

Andreas, Simo, please check.

We now have a torture test (rpc.spoolss.driver.driver.multiple_drivers) for this.

Guenther

Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Tue Feb  8 18:11:48 CET 2011 on sn-devel-104

source3/rpc_server/srv_spoolss_util.c

index 56407119b59ae9e06c5cdb2075bc9a9ff1432a97..dc861f88109cd3f208521ef02d9f9d48f571bbdb 100644 (file)
@@ -4126,9 +4126,10 @@ WERROR winreg_del_driver(TALLOC_CTX *mem_ctx,
        }
 
        key_name = talloc_asprintf(tmp_ctx,
-                                  "%s\\Environments\\%s\\Drivers\\Version-%u",
+                                  "%s\\Environments\\%s\\Drivers\\Version-%u\\%s",
                                   TOP_LEVEL_CONTROL_KEY,
-                                  info8->architecture, version);
+                                  info8->architecture, version,
+                                  info8->driver_name);
        if (key_name == NULL) {
                result = WERR_NOMEM;
                goto done;