|
|
5d76a89 |
diff -up cups-1.4.2/backend/network.c.negative-snmp-string-length cups-1.4.2/backend/network.c
|
|
|
5d76a89 |
--- cups-1.4.2/backend/network.c.negative-snmp-string-length 2009-08-31 19:45:43.000000000 +0100
|
|
|
ed13c7d |
+++ cups-1.4.2/backend/network.c 2009-12-08 11:14:45.010363459 +0000
|
|
|
5d76a89 |
@@ -170,9 +170,13 @@ backendNetworkSideCB(
|
|
|
5d76a89 |
|
|
|
5d76a89 |
case CUPS_ASN1_BIT_STRING :
|
|
|
5d76a89 |
case CUPS_ASN1_OCTET_STRING :
|
|
|
5d76a89 |
- i = (int)(sizeof(data) - (dataptr - data));
|
|
|
5d76a89 |
- if (packet.object_value.string.num_bytes < i)
|
|
|
5d76a89 |
+ if (packet.object_value.string.num_bytes < 0)
|
|
|
5d76a89 |
+ i = 0;
|
|
|
5d76a89 |
+ else if (packet.object_value.string.num_bytes <
|
|
|
5d76a89 |
+ (sizeof(data) - (dataptr - data)))
|
|
|
5d76a89 |
i = packet.object_value.string.num_bytes;
|
|
|
5d76a89 |
+ else
|
|
|
5d76a89 |
+ i = (int)(sizeof(data) - (dataptr - data));
|
|
|
5d76a89 |
|
|
|
5d76a89 |
memcpy(dataptr, packet.object_value.string.bytes, i);
|
|
|
5d76a89 |
|
|
|
ed13c7d |
diff -up cups-1.4.2/backend/snmp-supplies.c.negative-snmp-string-length cups-1.4.2/backend/snmp-supplies.c
|
|
|
ed13c7d |
--- cups-1.4.2/backend/snmp-supplies.c.negative-snmp-string-length 2009-08-31 17:34:06.000000000 +0100
|
|
|
ed13c7d |
+++ cups-1.4.2/backend/snmp-supplies.c 2009-12-08 11:15:05.505362685 +0000
|
|
|
ed13c7d |
@@ -232,6 +232,8 @@ backendSNMPSupplies(
|
|
|
ed13c7d |
if (packet.object_value.string.num_bytes == 2)
|
|
|
ed13c7d |
new_state = (packet.object_value.string.bytes[0] << 8) |
|
|
|
ed13c7d |
packet.object_value.string.bytes[1];
|
|
|
ed13c7d |
+ else if (packet.object_value.string.num_bytes == 1)
|
|
|
ed13c7d |
+ new_state = (packet.object_value.string.bytes[0] << 8);
|
|
|
ed13c7d |
else
|
|
|
ed13c7d |
new_state = 0;
|
|
|
ed13c7d |
|