The branch, v3-6-test has been updated
       via  d619930 s3-printing: fix migrate printer code (bug 8618)
      from  24ac26d Fix bug #8686 - Packet validation checks can be done before 
length validation causing uninitialized memory read.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit d61993043fcb7676a58658476421f5f4ff1a3fea
Author: Björn Baumbach <[email protected]>
Date:   Fri Nov 18 18:54:56 2011 +0100

    s3-printing: fix migrate printer code (bug 8618)
    
    Removed path from driver files.
    We only need the basenames.

-----------------------------------------------------------------------

Summary of changes:
 source3/printing/nt_printing_migrate.c |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/printing/nt_printing_migrate.c 
b/source3/printing/nt_printing_migrate.c
index e927a23..6eb2f44 100644
--- a/source3/printing/nt_printing_migrate.c
+++ b/source3/printing/nt_printing_migrate.c
@@ -3,6 +3,7 @@
  *  RPC Pipe client / server routines
  *
  *  Copyright (c) Andreas Schneider            2010.
+ *  Copyright (C) Bjoern Baumbach <[email protected]> 2011
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -27,6 +28,20 @@
 #include "librpc/gen_ndr/ndr_security.h"
 #include "rpc_client/cli_winreg_spoolss.h"
 
+static const char *driver_file_basename(const char *file)
+{
+       const char *basefile;
+
+       basefile = strrchr(file, '\\');
+       if (basefile == NULL) {
+               basefile = file;
+       } else {
+               basefile++;
+       }
+
+       return basefile;
+}
+
 NTSTATUS printing_tdb_migrate_form(TALLOC_CTX *mem_ctx,
                                   struct rpc_pipe_client *winreg_pipe,
                                   const char *key_name,
@@ -100,6 +115,7 @@ NTSTATUS printing_tdb_migrate_driver(TALLOC_CTX *mem_ctx,
        WERROR result;
        const char *driver_name;
        uint32_t driver_version;
+       int i;
 
        blob = data_blob_const(data, length);
 
@@ -118,8 +134,19 @@ NTSTATUS printing_tdb_migrate_driver(TALLOC_CTX *mem_ctx,
        ZERO_STRUCT(d3);
        ZERO_STRUCT(a);
 
+       /* remove paths from file names */
+       if (r.dependent_files != NULL) {
+               for (i = 0 ; r.dependent_files[i] != NULL; i++) {
+                       r.dependent_files[i] = 
driver_file_basename(r.dependent_files[i]);
+               }
+       }
        a.string = r.dependent_files;
 
+       r.driverpath = driver_file_basename(r.driverpath);
+       r.configfile = driver_file_basename(r.configfile);
+       r.datafile = driver_file_basename(r.datafile);
+       r.helpfile = driver_file_basename(r.helpfile);
+
        d3.architecture = r.environment;
        d3.config_file = r.configfile;
        d3.data_file = r.datafile;


-- 
Samba Shared Repository

Reply via email to