projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merged silc_1_0_branch to trunk.
[silc.git]
/
lib
/
silccore
/
silcargument.c
diff --git
a/lib/silccore/silcargument.c
b/lib/silccore/silcargument.c
index c58a1c9809d2c3e35dda4a7258c8adb40e1ecb53..9c088b51cd67fb3b94311e7d193e3c26d8a4314b 100644
(file)
--- a/
lib/silccore/silcargument.c
+++ b/
lib/silccore/silcargument.c
@@
-71,15
+71,12
@@
SilcArgumentPayload silc_argument_payload_parse(const unsigned char *payload,
SILC_STR_UI_SHORT(&p_len),
SILC_STR_UI_CHAR(&arg_type),
SILC_STR_END);
SILC_STR_UI_SHORT(&p_len),
SILC_STR_UI_CHAR(&arg_type),
SILC_STR_END);
- if (ret == -1)
+ if (ret == -1
|| p_len > buffer.len - 3
)
goto err;
goto err;
-
+
newp->argv_lens[i] = p_len;
newp->argv_types[i] = arg_type;
newp->argv_lens[i] = p_len;
newp->argv_types[i] = arg_type;
- if (p_len > buffer.len - 3)
- break;
-
/* Get argument data */
silc_buffer_pull(&buffer, 3);
ret = silc_buffer_unformat(&buffer,
/* Get argument data */
silc_buffer_pull(&buffer, 3);
ret = silc_buffer_unformat(&buffer,
@@
-132,7
+129,7
@@
SilcBuffer silc_argument_payload_encode(SilcUInt32 argc,
len = 0;
for (i = 0; i < argc; i++)
len = 0;
for (i = 0; i < argc; i++)
- len += 3 + argv_lens[i];
+ len += 3 +
(SilcUInt16)
argv_lens[i];
buffer = silc_buffer_alloc_size(len);
if (!buffer)
buffer = silc_buffer_alloc_size(len);
if (!buffer)
@@
-143,9
+140,9
@@
SilcBuffer silc_argument_payload_encode(SilcUInt32 argc,
silc_buffer_format(buffer,
SILC_STR_UI_SHORT(argv_lens[i]),
SILC_STR_UI_CHAR(argv_types[i]),
silc_buffer_format(buffer,
SILC_STR_UI_SHORT(argv_lens[i]),
SILC_STR_UI_CHAR(argv_types[i]),
- SILC_STR_UI_XNSTRING(argv[i], argv_lens[i]),
+ SILC_STR_UI_XNSTRING(argv[i],
(SilcUInt16)
argv_lens[i]),
SILC_STR_END);
SILC_STR_END);
- silc_buffer_pull(buffer, 3 + argv_lens[i]);
+ silc_buffer_pull(buffer, 3 +
(SilcUInt16)
argv_lens[i]);
}
silc_buffer_push(buffer, len);
}
silc_buffer_push(buffer, len);
@@
-161,9
+158,9
@@
SilcBuffer silc_argument_payload_encode_one(SilcBuffer args,
SilcUInt32 arg_type)
{
SilcBuffer buffer = args;
SilcUInt32 arg_type)
{
SilcBuffer buffer = args;
-
int
len;
+
SilcUInt32
len;
- len = 3 + arg_len;
+ len = 3 +
(SilcUInt16)
arg_len;
buffer = silc_buffer_realloc(buffer,
(buffer ? buffer->truelen + len : len));
if (!buffer)
buffer = silc_buffer_realloc(buffer,
(buffer ? buffer->truelen + len : len));
if (!buffer)
@@
-173,7
+170,7
@@
SilcBuffer silc_argument_payload_encode_one(SilcBuffer args,
silc_buffer_format(buffer,
SILC_STR_UI_SHORT(arg_len),
SILC_STR_UI_CHAR(arg_type),
silc_buffer_format(buffer,
SILC_STR_UI_SHORT(arg_len),
SILC_STR_UI_CHAR(arg_type),
- SILC_STR_UI_XNSTRING(arg, arg_len),
+ SILC_STR_UI_XNSTRING(arg,
(SilcUInt16)
arg_len),
SILC_STR_END);
silc_buffer_push(buffer, buffer->data - buffer->head);
SILC_STR_END);
silc_buffer_push(buffer, buffer->data - buffer->head);