svn commit: samba r3867 - in branches/SAMBA_3_0/source/printing: .

jra at samba.org jra at samba.org
Thu Nov 18 22:46:09 GMT 2004


Author: jra
Date: 2004-11-18 22:46:04 +0000 (Thu, 18 Nov 2004)
New Revision: 3867

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=3867

Log:
Fix from david.hu at hp.com - make a copy of an incoming message
rather than indirecting into it as a struct (may not be on an
even byte boundary). Bug #2052.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/printing/printing.c


Changeset:
Modified: branches/SAMBA_3_0/source/printing/printing.c
===================================================================
--- branches/SAMBA_3_0/source/printing/printing.c	2004-11-18 22:45:58 UTC (rev 3866)
+++ branches/SAMBA_3_0/source/printing/printing.c	2004-11-18 22:46:04 UTC (rev 3867)
@@ -1201,17 +1201,17 @@
 ****************************************************************************/
 static void print_queue_receive(int msg_type, pid_t src, void *buf, size_t len)
 {
-	struct print_queue_update_context *ctx;
+	struct print_queue_update_context ctx;
 
 	if (len != sizeof(struct print_queue_update_context)) {
 		DEBUG(1, ("Got invalid print queue update message\n"));
 		return;
 	}
 
-	ctx = (struct print_queue_update_context*)buf;
-	print_queue_update_internal(ctx->sharename, 
-		get_printer_fns_from_type(ctx->printing_type),
-		ctx->lpqcommand );
+	memcpy(&ctx, buf, sizeof(struct print_queue_update_context));
+	print_queue_update_internal(ctx.sharename, 
+		get_printer_fns_from_type(ctx.printing_type),
+		ctx.lpqcommand );
 }
 
 static pid_t background_lpq_updater_pid = -1;



More information about the samba-cvs mailing list