payload buffer datatypes are consistent
authorDavid Fabro <netfilter@meta-dynamic.com>
Thu, 10 Jun 2010 13:03:44 +0000 (15:03 +0200)
committerr.kubiak <r.kubiak@samsung.com>
Mon, 16 Nov 2015 13:12:05 +0000 (14:12 +0100)
The 'data' parameter to nfq_get_payload() returns pointer to unsigned
char (rather than signed char) to make it consistent with the 'buf'
parameter of nfq_set_verdict(), nfq_set_verdict2(), and
nfq_set_verdict_mark(), all of which refer to the same data.  Either
signed or unsigned is fine, but they should be consistent as the output
of nfq_get_payload() may be passed back into nfq_set_verdict*(); in that
case, this change eliminates the need for typecasting in the calling
code when using compilers that enforce strict typecasting.

Signed-off-by: David Favro <netfilter@meta-dynamic.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/libnetfilter_queue/libnetfilter_queue.h
src/libnetfilter_queue.c
utils/nfqnl_test.c

index 2e2ca8b..53bda74 100644 (file)
@@ -104,7 +104,7 @@ extern int nfq_get_physoutdev_name(struct nlif_handle *nlif_handle,
 extern struct nfqnl_msg_packet_hw *nfq_get_packet_hw(struct nfq_data *nfad);
 
 /* return -1 if problem, length otherwise */
-extern int nfq_get_payload(struct nfq_data *nfad, char **data);
+extern int nfq_get_payload(struct nfq_data *nfad, unsigned char **data);
 
 #ifdef __cplusplus
 } /* extern "C" */
index 4cc4925..c543055 100644 (file)
@@ -1003,7 +1003,7 @@ struct nfqnl_msg_packet_hw *nfq_get_packet_hw(struct nfq_data *nfad)
  *
  * \return -1 on error, otherwise > 0.
  */
-int nfq_get_payload(struct nfq_data *nfad, char **data)
+int nfq_get_payload(struct nfq_data *nfad, unsigned char **data)
 {
        *data = nfnl_get_pointer_to_data(nfad->data, NFQA_PAYLOAD, char);
        if (*data)
index 036bdab..9eebd9b 100644 (file)
@@ -16,7 +16,7 @@ static u_int32_t print_pkt (struct nfq_data *tb)
        struct nfqnl_msg_packet_hw *hwph;
        u_int32_t mark,ifi; 
        int ret;
-       char *data;
+       unsigned char *data;
 
        ph = nfq_get_msg_packet_hdr(tb);
        if (ph) {