}
silc_buffer_pull(buffer, SILC_COMMAND_PAYLOAD_LEN);
- new->args = silc_argument_payload_parse(buffer, args_num);
- if (!new->args) {
- silc_free(new);
- return NULL;
+ if (args_num) {
+ new->args = silc_argument_payload_parse(buffer, args_num);
+ if (!new->args) {
+ silc_free(new);
+ return NULL;
+ }
}
silc_buffer_push(buffer, SILC_COMMAND_PAYLOAD_LEN);