projects
/
paraslash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Replace PARA_VSNPRINTF by xvasprintf().
[paraslash.git]
/
crypt_common.c
diff --git
a/crypt_common.c
b/crypt_common.c
index a421641e6bac63786609b45e3076cb2f1242f731..5ad4d43d883b498989412182a54e880aa3ba0766 100644
(file)
--- a/
crypt_common.c
+++ b/
crypt_common.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (C) 2005-201
1
Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-201
2
Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
@@
-337,7
+337,12
@@
int sc_recv_buffer(struct stream_cipher_context *scc, char *buf, size_t size)
int sc_send_buffer(struct stream_cipher_context *scc, char *buf)
{
int sc_send_buffer(struct stream_cipher_context *scc, char *buf)
{
- return sc_send_bin_buffer(scc, buf, strlen(buf));
+ size_t len = strlen(buf);
+ int ret = sc_send_bin_buffer(scc, buf, len);
+
+ if (ret < 0 || ret == len)
+ return ret;
+ return -E_SHORT_WRITE;
}
__printf_2_3 int sc_send_va_buffer(struct stream_cipher_context *scc,
}
__printf_2_3 int sc_send_va_buffer(struct stream_cipher_context *scc,
@@
-345,9
+350,12
@@
__printf_2_3 int sc_send_va_buffer(struct stream_cipher_context *scc,
{
char *msg;
int ret;
{
char *msg;
int ret;
+ va_list ap;
- PARA_VSPRINTF(fmt, msg);
- ret = sc_send_buffer(scc, msg);
+ va_start(ap, fmt);
+ ret = xvasprintf(&msg, fmt, ap);
+ va_end(ap);
+ ret = sc_send_bin_buffer(scc, msg, ret);
free(msg);
return ret;
}
free(msg);
return ret;
}