summaryrefslogtreecommitdiffstats
path: root/src/expr/data_reg.c
diff options
context:
space:
mode:
authorArturo Borrero <arturo.borrero.glez@gmail.com>2014-05-06 19:19:46 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2014-05-07 15:38:25 +0200
commit393854b12be53f686074e55aac598ca0ba13e48f (patch)
tree7a56f2548a1670662a2ea423bbc95d5ff4799425 /src/expr/data_reg.c
parentb3ddcf9a00f2b1ea6bde4d935b5226eaa792c937 (diff)
data_reg: fix bad buffer size bounds
These calls need to use the new buffer size, instead of the size that the buffer originally had. Bugs introduced by myself at dec68741 [data_reg: fix verdict format approach]. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/expr/data_reg.c')
-rw-r--r--src/expr/data_reg.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c
index 0523cb7..44281f7 100644
--- a/src/expr/data_reg.c
+++ b/src/expr/data_reg.c
@@ -304,7 +304,7 @@ nft_data_reg_verdict_snprintf_def(char *buf, size_t size,
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
if (reg->chain != NULL) {
- ret = snprintf(buf+offset, size, "-> %s ", reg->chain);
+ ret = snprintf(buf+offset, len, "-> %s ", reg->chain);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
@@ -322,12 +322,12 @@ nft_data_reg_verdict_snprintf_xml(char *buf, size_t size,
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
if (reg->chain != NULL) {
- ret = snprintf(buf+offset, size, "<chain>%s</chain>",
+ ret = snprintf(buf+offset, len, "<chain>%s</chain>",
reg->chain);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
- ret = snprintf(buf+offset, size, "</data_reg>");
+ ret = snprintf(buf+offset, len, "</data_reg>");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
return offset;
@@ -344,12 +344,12 @@ nft_data_reg_verdict_snprintf_json(char *buf, size_t size,
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
if (reg->chain != NULL) {
- ret = snprintf(buf+offset, size, ",\"chain\":\"%s\"",
+ ret = snprintf(buf+offset, len, ",\"chain\":\"%s\"",
reg->chain);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
- ret = snprintf(buf+offset, size, "}");
+ ret = snprintf(buf+offset, len, "}");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
return offset;