projects
/
proxmark3-svn
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
FIX: ELOAD/ESAVE/CLOAD/CSAVE filename bufferoverflow, and filename generation if...
[proxmark3-svn]
/
client
/
util.c
diff --git
a/client/util.c
b/client/util.c
index 382c85c6a64362216c18b3f0dd73a88d5db1ea0c..a64f46b98e815461c1eaf6aa18fb4fff0b81c973 100644
(file)
--- a/
client/util.c
+++ b/
client/util.c
@@
-113,7
+113,7
@@
char *sprint_hex(const uint8_t *data, const size_t len) {
int maxLen = ( len > 1024/3) ? 1024/3 : len;
static char buf[1024];
memset(buf, 0x00, 1024);
int maxLen = ( len > 1024/3) ? 1024/3 : len;
static char buf[1024];
memset(buf, 0x00, 1024);
- char *tmp = buf;
+ char *
tmp = buf;
size_t i;
for (i=0; i < maxLen; ++i, tmp += 3)
size_t i;
for (i=0; i < maxLen; ++i, tmp += 3)
@@
-124,7
+124,7
@@
char *sprint_hex(const uint8_t *data, const size_t len) {
char *sprint_bin_break(const uint8_t *data, const size_t len, const uint8_t breaks) {
char *sprint_bin_break(const uint8_t *data, const size_t len, const uint8_t breaks) {
- int maxLen = ( len > 102
4) ? 1024
: len;
+ int maxLen = ( len > 102
0) ? 1020
: len;
static char buf[1024];
memset(buf, 0x00, 1024);
char *tmp = buf;
static char buf[1024];
memset(buf, 0x00, 1024);
char *tmp = buf;
@@
-164,14
+164,16
@@
uint64_t bytes_to_num(uint8_t* src, size_t len)
// to
// hh,gg,ff,ee,dd,cc,bb,aa, pp,oo,nn,mm,ll,kk,jj,ii
// up to 64 bytes or 512 bits
// to
// hh,gg,ff,ee,dd,cc,bb,aa, pp,oo,nn,mm,ll,kk,jj,ii
// up to 64 bytes or 512 bits
-uint8_t *SwapEndian64(uint8_t *src, size_t len){
- static uint8_t temp[64]={0};
- for (uint8_t block=0; block < (uint8_t)len/8; block++){
- for (size_t i = 0; i < 8; i++){
- temp[i+(8*block)] = src[(7-i)+(8*block)];
+uint8_t *SwapEndian64(const uint8_t *src, const size_t len, const uint8_t blockSize){
+ static uint8_t buf[64];
+ memset(buf, 0x00, 64);
+ uint8_t *tmp = buf;
+ for (uint8_t block=0; block < (uint8_t)(len/blockSize); block++){
+ for (size_t i = 0; i < blockSize; i++){
+ tmp[i+(blockSize*block)] = src[(blockSize-1-i)+(blockSize*block)];
}
}
}
}
- return t
e
mp;
+ return tmp;
}
//assumes little endian
}
//assumes little endian
Impressum
,
Datenschutz