From 8a91a69961622a31851f2394c591ddaa61a36000 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 18 Nov 2004 22:46:04 +0000 Subject: r3867: Fix from david.hu@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. --- source/printing/printing.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'source/printing') diff --git a/source/printing/printing.c b/source/printing/printing.c index 1e897c962a6..ca839450658 100644 --- a/source/printing/printing.c +++ b/source/printing/printing.c @@ -1201,17 +1201,17 @@ this is the receive function of the background lpq updater ****************************************************************************/ 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; -- cgit