commit - 986364d26ba1975d29998bfe6a8268d29f20bd86
commit + 075f71338af24057d9f8428bd94ea736ff315254
blob - 8a164634eaf5b24148df8b8910fce1d44931becf
blob + d801d102e297511104f1e436a10bb3d214df1204
--- main.c
+++ main.c
{
struct agentx_object *obj;
struct command *cmd;
- size_t i;
- char displaystring[256];
+ size_t i, n;
+ char displaystring[256], *in;
if ((cmd = extends_find_cmd(vb)) == NULL) {
agentx_varbind_notfound(vb);
}
obj = agentx_varbind_get_object(vb);
agentx_varbind_set_index_string(vb, token, cmd->token);
- if (obj == command)
- agentx_varbind_string(vb, cmd->command);
- else if (obj == args) {
+ if (obj == command) {
+ if ((n = strlen(cmd->command)) > 255)
+ n = 255;
+ agentx_varbind_nstring(vb, cmd->command, n);
+ } else if (obj == args) {
displaystring[0] = '\0';
for (i = 0; cmd->args != NULL && cmd->args[i] != NULL; i++) {
if (i != 0)
sizeof(displaystring));
}
agentx_varbind_string(vb, displaystring);
- } else if (obj == input)
- agentx_varbind_string(vb, cmd->input != NULL ? cmd->input : "");
- else if (obj == cachetime)
+ } else if (obj == input) {
+ in = cmd->input != NULL ? cmd->input : "";
+ if ((n = strlen(in)) > 255)
+ n = 255;
+ agentx_varbind_nstring(vb, in, n);
+ } else if (obj == cachetime)
agentx_varbind_integer(vb, cmd->cachetime);
else if (obj == exectype)
agentx_varbind_integer(vb, cmd->exectype);
break;
case AGENTX_REQUEST_TYPE_GETNEXT:
/* Increments later */
- if (line <= 1024)
+ if (lidx <= 1024)
lidx++;
break;
case AGENTX_REQUEST_TYPE_GETNEXTINCLUSIVE: