diff options
author | Matt Johnston <matt@ucc.asn.au> | 2018-02-17 19:29:51 +0800 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2018-02-17 19:29:51 +0800 |
commit | 104e39e9caf447cb416a6d83ea7eedd4481ce4c3 (patch) | |
tree | b8b33aaee9f7336e592da7a916ee05bae3412c22 /buffer.c | |
parent | 2b551518f8625f87a22ea1fde40e3c7d841bf9d0 (diff) | |
parent | 769be133237df6d9a4028645e7e9924be8544c8f (diff) | |
download | dropbear-104e39e9caf447cb416a6d83ea7eedd4481ce4c3.tar.gz |
merge from main
Diffstat (limited to 'buffer.c')
-rw-r--r-- | buffer.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -209,6 +209,7 @@ char* buf_getstring(buffer* buf, unsigned int *retlen) { unsigned int len; char* ret; + void* src = NULL; len = buf_getint(buf); if (len > MAX_STRING_LEN) { dropbear_exit("String too long"); @@ -217,8 +218,9 @@ char* buf_getstring(buffer* buf, unsigned int *retlen) { if (retlen != NULL) { *retlen = len; } + src = buf_getptr(buf, len); ret = m_malloc(len+1); - memcpy(ret, buf_getptr(buf, len), len); + memcpy(ret, src, len); buf_incrpos(buf, len); ret[len] = '\0'; |