Skip to content

Commit

Permalink
Apply y_offset nullptr deref fix to src/ as well
Browse files Browse the repository at this point in the history
  • Loading branch information
mtijanic committed Nov 3, 2023
1 parent b0ec2cb commit 3e7c372
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 4 deletions.
30 changes: 27 additions & 3 deletions src/nuklear_group.c
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,15 @@ nk_group_begin_titled(struct nk_context *ctx, const char *id,
NK_ASSERT(y_offset);
if (!x_offset || !y_offset) return 0;
*x_offset = *y_offset = 0;
} else y_offset = nk_find_value(win, id_hash+1);
} else {
y_offset = nk_find_value(win, id_hash+1);
if (!y_offset) {
y_offset = nk_add_value(ctx, win, id_hash+1, 0);
NK_ASSERT(y_offset);
if (!y_offset) return 0;
*y_offset = 0;
}
}
return nk_group_scrolled_offset_begin(ctx, x_offset, y_offset, title, flags);
}
NK_API nk_bool
Expand Down Expand Up @@ -195,7 +203,15 @@ nk_group_get_scroll(struct nk_context *ctx, const char *id, nk_uint *x_offset, n
NK_ASSERT(y_offset_ptr);
if (!x_offset_ptr || !y_offset_ptr) return;
*x_offset_ptr = *y_offset_ptr = 0;
} else y_offset_ptr = nk_find_value(win, id_hash+1);
} else {
y_offset_ptr = nk_find_value(win, id_hash+1);
if (!y_offset_ptr) {
y_offset_ptr = nk_add_value(ctx, win, id_hash+1, 0);
NK_ASSERT(y_offset_ptr);
if (!y_offset_ptr) return;
*y_offset_ptr = 0;
}
}
if (x_offset)
*x_offset = *x_offset_ptr;
if (y_offset)
Expand Down Expand Up @@ -230,7 +246,15 @@ nk_group_set_scroll(struct nk_context *ctx, const char *id, nk_uint x_offset, nk
NK_ASSERT(y_offset_ptr);
if (!x_offset_ptr || !y_offset_ptr) return;
*x_offset_ptr = *y_offset_ptr = 0;
} else y_offset_ptr = nk_find_value(win, id_hash+1);
} else {
y_offset_ptr = nk_find_value(win, id_hash+1);
if (!y_offset_ptr) {
y_offset_ptr = nk_add_value(ctx, win, id_hash+1, 0);
NK_ASSERT(y_offset_ptr);
if (!y_offset_ptr) return;
*y_offset_ptr = 0;
}
}
*x_offset_ptr = x_offset;
*y_offset_ptr = y_offset;
}
10 changes: 9 additions & 1 deletion src/nuklear_list_view.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,15 @@ nk_list_view_begin(struct nk_context *ctx, struct nk_list_view *view,
NK_ASSERT(y_offset);
if (!x_offset || !y_offset) return 0;
*x_offset = *y_offset = 0;
} else y_offset = nk_find_value(win, title_hash+1);
} else {
y_offset = nk_find_value(win, title_hash+1);
if (!y_offset) {
y_offset = nk_add_value(ctx, win, title_hash+1, 0);
NK_ASSERT(y_offset);
if (!y_offset) return 0;
*y_offset = 0;
}
}
view->scroll_value = *y_offset;
view->scroll_pointer = y_offset;

Expand Down

0 comments on commit 3e7c372

Please sign in to comment.