aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-11-03 08:29:55 -0800
committerGarrett D'Amore <garrett@damore.org>2024-11-03 08:30:34 -0800
commit8249242a9325a27e57107d78bfa168e918cc4f7a (patch)
tree3fa7a7a0dd66c23684b731f6b2686e9b6ea7a574 /src/core
parenta5807e45b1badfb5d0cb4f697e1873a8ece59a30 (diff)
downloadnng-8249242a9325a27e57107d78bfa168e918cc4f7a.tar.gz
nng-8249242a9325a27e57107d78bfa168e918cc4f7a.tar.bz2
nng-8249242a9325a27e57107d78bfa168e918cc4f7a.zip
Remove untyped nng_pipe_get, support for untyped sockaddr set.
This is a step on the path to removing unsafe untyped option accesses.
Diffstat (limited to 'src/core')
-rw-r--r--src/core/options.c20
-rw-r--r--src/core/options.h2
2 files changed, 4 insertions, 18 deletions
diff --git a/src/core/options.c b/src/core/options.c
index 5de87c61..ff794168 100644
--- a/src/core/options.c
+++ b/src/core/options.c
@@ -204,26 +204,12 @@ nni_copyin_u64(uint64_t *up, const void *v, size_t sz, nni_type t)
}
int
-nni_copyin_sockaddr(nng_sockaddr *ap, const void *v, size_t sz, nni_type t)
+nni_copyin_sockaddr(nng_sockaddr *ap, const void *v, nni_type t)
{
- nng_sockaddr a;
-
- switch (t) {
- case NNI_TYPE_SOCKADDR:
- a = *(nng_sockaddr *) v;
- break;
- case NNI_TYPE_OPAQUE:
- if (sz != sizeof(nng_sockaddr)) {
- return (NNG_EINVAL);
- }
- memcpy(&a, v, sz);
- break;
- default:
+ if (t != NNI_TYPE_SOCKADDR) {
return (NNG_EBADTYPE);
}
- if (ap != NULL) {
- *ap = a;
- }
+ *ap = *(nng_sockaddr *) v;
return (0);
}
diff --git a/src/core/options.h b/src/core/options.h
index aff429df..67481d9f 100644
--- a/src/core/options.h
+++ b/src/core/options.h
@@ -34,7 +34,7 @@ extern int nni_copyin_size(
extern int nni_copyin_str(char *, const void *, size_t, size_t, nni_type);
extern int nni_copyin_ptr(void **, const void *, size_t, nni_type);
extern int nni_copyin_u64(uint64_t *, const void *, size_t, nni_type);
-extern int nni_copyin_sockaddr(nng_sockaddr *, const void *, size_t, nni_type);
+extern int nni_copyin_sockaddr(nng_sockaddr *, const void *, nni_type);
// nni_copyout_xxx copies out a type of the named value. It assumes that
// the type is aligned and the size correct, unless NNI_TYPE_OPAQUE is passed.