projects
/
pub
/
lufa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
AVRISP-MKII Clone: Add length checks to SPI Multi and XPROG read/write commands.
[pub/lufa.git]
/
LUFA
/
Drivers
/
USB
/
Class
/
Device
/
PrinterClassDevice.c
diff --git
a/LUFA/Drivers/USB/Class/Device/PrinterClassDevice.c
b/LUFA/Drivers/USB/Class/Device/PrinterClassDevice.c
index
de5e49e
..
a02eedb
100644
(file)
--- a/
LUFA/Drivers/USB/Class/Device/PrinterClassDevice.c
+++ b/
LUFA/Drivers/USB/Class/Device/PrinterClassDevice.c
@@
-1,13
+1,13
@@
/*
LUFA Library
/*
LUFA Library
- Copyright (C) Dean Camera, 20
19
.
+ Copyright (C) Dean Camera, 20
21
.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 20
19
Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 20
21
Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
@@
-59,7
+59,7
@@
void PRNT_Device_ProcessControlRequest(USB_ClassInfo_PRNT_Device_t* const PRNTIn
}
uint16_t IEEEStringLen = strlen(PRNTInterfaceInfo->Config.IEEE1284String);
}
uint16_t IEEEStringLen = strlen(PRNTInterfaceInfo->Config.IEEE1284String);
- Endpoint_Write_16_BE(IEEEStringLen);
+ Endpoint_Write_16_BE(IEEEStringLen
+ sizeof(uint16_t)
);
Endpoint_Write_Control_Stream_LE(PRNTInterfaceInfo->Config.IEEE1284String, IEEEStringLen);
Endpoint_ClearStatusStage();
}
Endpoint_Write_Control_Stream_LE(PRNTInterfaceInfo->Config.IEEE1284String, IEEEStringLen);
Endpoint_ClearStatusStage();
}
@@
-77,6
+77,8
@@
void PRNT_Device_ProcessControlRequest(USB_ClassInfo_PRNT_Device_t* const PRNTIn
}
Endpoint_Write_8(PRNTInterfaceInfo->State.PortStatus);
}
Endpoint_Write_8(PRNTInterfaceInfo->State.PortStatus);
+ Endpoint_ClearIN();
+
Endpoint_ClearStatusStage();
}
Endpoint_ClearStatusStage();
}