summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToomas Soome <tsoome@me.com>2020-01-29 18:07:21 +0200
committerToomas Soome <tsoome@me.com>2020-02-04 18:25:22 +0200
commit7484d76e78bc19298de9589214be103d65cf3989 (patch)
tree0ed148a387e6cff9f18748b499863575f6ae9c91
parentb36afad7ffe84071c2c6831936cc1c524bd1ca90 (diff)
downloadillumos-joyent-7484d76e78bc19298de9589214be103d65cf3989.tar.gz
12263 libc: NULL pointer errors (sparc)
Reviewed by: Matthias Scheler <mscheler@tintri.com> Reviewed by: Gergő Mihály Doma <domag02@gmail.com> Reviewed by: Gary Mills <gary_mills@fastmail.fm> Approved by: Dan McDonald <danmcd@joyent.com>
-rw-r--r--usr/src/lib/libc/port/gen/walkstack.c10
-rw-r--r--usr/src/lib/libc/sparc/threads/machdep.c5
2 files changed, 8 insertions, 7 deletions
diff --git a/usr/src/lib/libc/port/gen/walkstack.c b/usr/src/lib/libc/port/gen/walkstack.c
index 02afc8f214..85963f53ab 100644
--- a/usr/src/lib/libc/port/gen/walkstack.c
+++ b/usr/src/lib/libc/port/gen/walkstack.c
@@ -192,9 +192,9 @@ walkcontext(const ucontext_t *uptr, int (*operate_func)(uintptr_t, int, void *),
ucontext_t *oldctx = uptr->uc_link;
int fd;
- int sig;
+ int sig;
#if defined(__sparc)
- int signo = 0;
+ int signo = 0;
#endif
struct frame *savefp;
@@ -227,7 +227,7 @@ walkcontext(const ucontext_t *uptr, int (*operate_func)(uintptr_t, int, void *),
*/
#if defined(__sparc)
- uintptr_t special_pc = NULL;
+ uintptr_t special_pc = (uintptr_t)NULL;
int special_size = 0;
extern void thr_sighndlrinfo(void (**func)(), int *funcsize);
@@ -415,8 +415,8 @@ callback(uintptr_t pc, int signo, void *arg)
int
backtrace(void **buffer, int count)
{
- backtrace_t bt;
- ucontext_t u;
+ backtrace_t bt;
+ ucontext_t u;
bt.bt_buffer = buffer;
bt.bt_maxcount = count;
diff --git a/usr/src/lib/libc/sparc/threads/machdep.c b/usr/src/lib/libc/sparc/threads/machdep.c
index 85cf4facf9..12487363cb 100644
--- a/usr/src/lib/libc/sparc/threads/machdep.c
+++ b/usr/src/lib/libc/sparc/threads/machdep.c
@@ -61,7 +61,7 @@ setup_top_frame(void *stk, size_t stksize, ulwp_t *ulwp)
int
setup_context(ucontext_t *ucp, void *(*func)(ulwp_t *),
- ulwp_t *ulwp, caddr_t stk, size_t stksize)
+ ulwp_t *ulwp, caddr_t stk, size_t stksize)
{
uintptr_t stack;
@@ -72,7 +72,8 @@ setup_context(ucontext_t *ucp, void *(*func)(ulwp_t *),
* Clear the top stack frame.
* If this fails, pass the problem up to the application.
*/
- if ((stack = (uintptr_t)setup_top_frame(stk, stksize, ulwp)) == NULL)
+ stack = (uintptr_t)setup_top_frame(stk, stksize, ulwp);
+ if (stack == (uintptr_t)NULL)
return (ENOMEM);
/* fill in registers of interest */