libyang BUGFIX invalid use of void *
diff --git a/src/json.c b/src/json.c
index 1c30ac5..85368cb 100644
--- a/src/json.c
+++ b/src/json.c
@@ -25,7 +25,7 @@
#include "tree_schema_internal.h"
#define JSON_PUSH_STATUS_RET(CTX, STATUS) \
- LY_CHECK_RET(ly_set_add(&CTX->status, (void*)STATUS, 1, NULL))
+ LY_CHECK_RET(ly_set_add(&CTX->status, (void *)(uintptr_t)(STATUS), 1, NULL))
#define JSON_POP_STATUS_RET(CTX) \
assert(CTX->status.count); CTX->status.count--;
diff --git a/src/out.c b/src/out.c
index 7909ce8..3272d80 100644
--- a/src/out.c
+++ b/src/out.c
@@ -114,7 +114,7 @@
API ly_write_clb
ly_out_clb(struct ly_out *out, ly_write_clb writeclb)
{
- void *prev_clb;
+ ly_write_clb prev_clb;
LY_CHECK_ARG_RET(NULL, out, out->type == LY_OUT_CALLBACK, NULL);
diff --git a/src/plugins_types/ipv4_address.c b/src/plugins_types/ipv4_address.c
index ee8cffc..c4e06ce 100644
--- a/src/plugins_types/ipv4_address.c
+++ b/src/plugins_types/ipv4_address.c
@@ -151,7 +151,7 @@
/* store zone, if any */
if (value_len > 4) {
- ret = lydict_insert(ctx, value + 4, value_len - 4, &val->zone);
+ ret = lydict_insert(ctx, value_str + 4, value_len - 4, &val->zone);
LY_CHECK_GOTO(ret, cleanup);
} else {
val->zone = NULL;
diff --git a/src/plugins_types/ipv6_address.c b/src/plugins_types/ipv6_address.c
index 944f2f3..1204633 100644
--- a/src/plugins_types/ipv6_address.c
+++ b/src/plugins_types/ipv6_address.c
@@ -151,7 +151,7 @@
/* store zone, if any */
if (value_len > 16) {
- ret = lydict_insert(ctx, value + 16, value_len - 16, &val->zone);
+ ret = lydict_insert(ctx, value_str + 16, value_len - 16, &val->zone);
LY_CHECK_GOTO(ret, cleanup);
} else {
val->zone = NULL;
diff --git a/src/plugins_types/union.c b/src/plugins_types/union.c
index 6a2b1b4..5295d80 100644
--- a/src/plugins_types/union.c
+++ b/src/plugins_types/union.c
@@ -145,7 +145,7 @@
*lyb_value = "";
} else {
*lyb_value_len = lyb_data_len - IDX_SIZE;
- *lyb_value = lyb_data + IDX_SIZE;
+ *lyb_value = (char *)lyb_data + IDX_SIZE;
}
}
}
@@ -480,7 +480,7 @@
num = type_idx;
num = htole64(num);
memcpy(ret, &num, IDX_SIZE);
- memcpy(ret + IDX_SIZE, pval, pval_len);
+ memcpy((char *)ret + IDX_SIZE, pval, pval_len);
if (dynamic) {
free(pval);
diff --git a/src/tree.h b/src/tree.h
index 3b2736c..1c283b7 100644
--- a/src/tree.h
+++ b/src/tree.h
@@ -124,7 +124,7 @@
*/
#define LY_ARRAY_FOR_ITER(ARRAY, TYPE, ITER) \
for (ITER = ARRAY; \
- (ARRAY) && ((void*)ITER - (void*)ARRAY)/(sizeof(TYPE)) < (*((LY_ARRAY_COUNT_TYPE*)(ARRAY) - 1)); \
+ (ARRAY) && ((char *)ITER - (char *)ARRAY)/(sizeof(TYPE)) < (*((LY_ARRAY_COUNT_TYPE*)(ARRAY) - 1)); \
ITER = (TYPE*)ITER + 1)
/**
diff --git a/src/tree_data_helpers.c b/src/tree_data_helpers.c
index c3a842c..6bf1a6d 100644
--- a/src/tree_data_helpers.c
+++ b/src/tree_data_helpers.c
@@ -658,7 +658,7 @@
}
/* add all used prefixes */
- value_end = value + value_len;
+ value_end = (char *)value + value_len;
for (value_iter = value; value_iter; value_iter = value_next) {
LY_CHECK_GOTO(ret = ly_value_prefix_next(value_iter, value_end, &substr_len, &is_prefix, &value_next), cleanup);
if (is_prefix) {
@@ -694,7 +694,7 @@
}
/* add all used prefixes */
- value_end = value + value_len;
+ value_end = (char *)value + value_len;
for (value_iter = value; value_iter; value_iter = value_next) {
LY_CHECK_GOTO(ret = ly_value_prefix_next(value_iter, value_end, &substr_len, &is_prefix, &value_next), cleanup);
if (is_prefix) {
diff --git a/src/tree_edit.h b/src/tree_edit.h
index 358711b..bbd5b4b 100644
--- a/src/tree_edit.h
+++ b/src/tree_edit.h
@@ -59,10 +59,10 @@
*/
#define LY_ARRAY_NEW(CTX, ARRAY, EACTION) \
{ \
- void *p__; \
+ char *p__; \
if (ARRAY) { \
++(*((LY_ARRAY_COUNT_TYPE*)(ARRAY) - 1)); \
- p__ = realloc(((LY_ARRAY_COUNT_TYPE*)(ARRAY) - 1), \
+ p__ = (char *)realloc(((LY_ARRAY_COUNT_TYPE*)(ARRAY) - 1), \
sizeof(LY_ARRAY_COUNT_TYPE) + (*((LY_ARRAY_COUNT_TYPE*)(ARRAY) - 1) * sizeof *(ARRAY))); \
if (!p__) { \
--(*((LY_ARRAY_COUNT_TYPE*)(p__) - 1)); \
@@ -70,14 +70,14 @@
EACTION; \
} \
} else { \
- p__ = malloc(sizeof(LY_ARRAY_COUNT_TYPE) + sizeof *(ARRAY)); \
+ p__ = (char *)malloc(sizeof(LY_ARRAY_COUNT_TYPE) + sizeof *(ARRAY)); \
if (!p__) { \
LOGMEM(CTX); \
EACTION; \
} \
*((LY_ARRAY_COUNT_TYPE*)(p__)) = 1; \
} \
- p__ = (void*)((LY_ARRAY_COUNT_TYPE*)(p__) + 1); \
+ p__ = (char *)((LY_ARRAY_COUNT_TYPE*)(p__) + 1); \
memcpy(&(ARRAY), &p__, sizeof p__); \
}
@@ -131,22 +131,22 @@
*/
#define LY_ARRAY_CREATE(CTX, ARRAY, SIZE, EACTION) \
{ \
- void *p__; \
+ char *p__; \
if (ARRAY) { \
- p__ = realloc(((LY_ARRAY_COUNT_TYPE*)(ARRAY) - 1), \
+ p__ = (char *)realloc(((LY_ARRAY_COUNT_TYPE*)(ARRAY) - 1), \
sizeof(LY_ARRAY_COUNT_TYPE) + ((*((LY_ARRAY_COUNT_TYPE*)(ARRAY) - 1) + (SIZE)) * sizeof *(ARRAY))); \
if (!p__) { \
LOGMEM(CTX); \
EACTION; \
} \
} else { \
- p__ = calloc(1, sizeof(LY_ARRAY_COUNT_TYPE) + (SIZE) * sizeof *(ARRAY)); \
+ p__ = (char *)calloc(1, sizeof(LY_ARRAY_COUNT_TYPE) + (SIZE) * sizeof *(ARRAY)); \
if (!p__) { \
LOGMEM(CTX); \
EACTION; \
} \
} \
- p__ = (void*)((LY_ARRAY_COUNT_TYPE*)(p__) + 1); \
+ p__ = (char *)((LY_ARRAY_COUNT_TYPE*)(p__) + 1); \
memcpy(&(ARRAY), &p__, sizeof p__); \
if (ARRAY) { \
memset(&(ARRAY)[*((LY_ARRAY_COUNT_TYPE*)(p__) - 1)], 0, (SIZE) * sizeof *(ARRAY)); \
@@ -242,10 +242,10 @@
if (!(*LIST)) { \
memcpy(LIST, &(NEW_ITEM), sizeof NEW_ITEM); \
} else { \
- size_t offset__ = (void*)&(*LIST)->LINKER - (void*)(*LIST); \
- void **iter__ = (void **)((size_t)(*LIST) + offset__); \
+ size_t offset__ = (char *)&(*LIST)->LINKER - (char *)(*LIST); \
+ char **iter__ = (char **)((size_t)(*LIST) + offset__); \
while (*iter__) { \
- iter__ = (void **)((size_t)(*iter__) + offset__); \
+ iter__ = (char **)((size_t)(*iter__) + offset__); \
} \
memcpy(iter__, &(NEW_ITEM), sizeof NEW_ITEM); \
}
@@ -263,7 +263,7 @@
*/
#define LY_LIST_NEW(CTX, LIST, NEW_ITEM, LINKER, EACTION) \
{ \
- void *p__ = calloc(1, sizeof *NEW_ITEM); \
+ char *p__ = (char *)calloc(1, sizeof *NEW_ITEM); \
if (!p__) { \
LOGMEM(CTX); \
EACTION; \
diff --git a/tests/utests/schema/test_tree_schema_compile.c b/tests/utests/schema/test_tree_schema_compile.c
index f52dc1b..bb8985e 100644
--- a/tests/utests/schema/test_tree_schema_compile.c
+++ b/tests/utests/schema/test_tree_schema_compile.c
@@ -47,7 +47,7 @@
if ((nl = strchr(user_data, '\n'))) {
/* more modules */
- if (!strncmp(user_data + 7, mod_name, strlen(mod_name))) {
+ if (!strncmp((char *)user_data + 7, mod_name, strlen(mod_name))) {
*module_data = strndup(user_data, nl - (char *)user_data);
*format = LYS_IN_YANG;
*free_module_data = test_imp_free_data;