48 lines
1.4 KiB
Diff
48 lines
1.4 KiB
Diff
From 11248fb7484c56ecdf14f8f24f2322d887a7e48e Mon Sep 17 00:00:00 2001
|
|
From: Nils Philippsen <nils@redhat.com>
|
|
Date: Tue, 29 Oct 2013 14:19:16 +0100
|
|
Subject: [PATCH] patch: pixma_bjnp-crash
|
|
|
|
Squashed commit of the following:
|
|
|
|
commit d7c1db0e79b9e6b1f7c08c16ef883ad414a12bc0
|
|
Author: Nils Philippsen <nils@redhat.com>
|
|
Date: Tue Oct 29 14:14:18 2013 +0100
|
|
|
|
pixmap: omitting curly braces considered harmful
|
|
|
|
The break being outside of the else block effectively made an if clause
|
|
out of the while loop. This caused long hostnames to not be shortened
|
|
sufficiently which subsequentely made strcpy() write beyond buffer
|
|
boundaries.
|
|
|
|
(cherry picked from commit d35d6326cb00fcbb19b41599bdff7faf5d79225e)
|
|
---
|
|
backend/pixma_bjnp.c | 8 +++++---
|
|
1 file changed, 5 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/backend/pixma_bjnp.c b/backend/pixma_bjnp.c
|
|
index 3046e9d..a1730ad 100644
|
|
--- a/backend/pixma_bjnp.c
|
|
+++ b/backend/pixma_bjnp.c
|
|
@@ -364,11 +364,13 @@ determine_scanner_serial (const char *hostname, const char * mac_address, char *
|
|
/* if this is a FQDN, not an ip-address, remove domain part of the name */
|
|
if ((dot = strchr (copy, '.')) != NULL)
|
|
{
|
|
- *dot = '\0';
|
|
+ *dot = '\0';
|
|
}
|
|
else
|
|
- strcpy(copy, mac_address);
|
|
- break;
|
|
+ {
|
|
+ strcpy(copy, mac_address);
|
|
+ break;
|
|
+ }
|
|
}
|
|
strcpy( serial, copy );
|
|
return serial;
|
|
--
|
|
1.8.3.1
|
|
|