summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2017-01-24 05:41:05 +0000
committerNanang Izzuddin <nanang@teluu.com>2017-01-24 05:41:05 +0000
commit377a01b2a7f9df963c0501eab30df7f8c64686f4 (patch)
tree7c01fd85b264260a8e5b9d44bc55bacc49209f66
parente4275a54cfd41a3d0f107f18130de3b780a17aac (diff)
Misc (re #1945): Fixed compile warnings on Android 64bit platforms, e.g: dereferencing type-punned pointer, using uninitialized var.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5544 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjlib-util/src/pjlib-util/md5.c6
-rw-r--r--pjlib/src/pj/sock_bsd.c5
-rw-r--r--pjlib/src/pj/ssl_sock_ossl.c4
-rw-r--r--pjmedia/src/pjmedia-audiodev/android_jni_dev.c4
-rw-r--r--pjmedia/src/pjmedia-videodev/android_dev.c8
-rw-r--r--pjmedia/src/pjmedia/avi_player.c4
-rw-r--r--pjnath/src/pjnath/stun_msg_dump.c8
7 files changed, 23 insertions, 16 deletions
diff --git a/pjlib-util/src/pjlib-util/md5.c b/pjlib-util/src/pjlib-util/md5.c
index 45aee07d..7f393069 100644
--- a/pjlib-util/src/pjlib-util/md5.c
+++ b/pjlib-util/src/pjlib-util/md5.c
@@ -151,8 +151,10 @@ PJ_DEF(void) pj_md5_final(pj_md5_context *ctx, unsigned char digest[16])
byteReverse(ctx->in, 14);
/* Append length in bits and transform */
- ((pj_uint32_t *) ctx->in)[14] = ctx->bits[0];
- ((pj_uint32_t *) ctx->in)[15] = ctx->bits[1];
+ //((pj_uint32_t *) ctx->in)[14] = ctx->bits[0];
+ //((pj_uint32_t *) ctx->in)[15] = ctx->bits[1];
+ pj_memcpy(&ctx->in[14 << 2], &ctx->bits[0], sizeof(ctx->bits[0]));
+ pj_memcpy(&ctx->in[15 << 2], &ctx->bits[1], sizeof(ctx->bits[1]));
MD5Transform(ctx->buf, (pj_uint32_t *) ctx->in);
byteReverse((unsigned char *) ctx->buf, 4);
diff --git a/pjlib/src/pj/sock_bsd.c b/pjlib/src/pj/sock_bsd.c
index d6b18990..d73654bb 100644
--- a/pjlib/src/pj/sock_bsd.c
+++ b/pjlib/src/pj/sock_bsd.c
@@ -228,11 +228,12 @@ PJ_DEF(pj_uint32_t) pj_htonl(pj_uint32_t hostlong)
*/
PJ_DEF(char*) pj_inet_ntoa(pj_in_addr inaddr)
{
-#if !defined(PJ_LINUX) && !defined(PJ_LINUX_KERNEL)
+#if 0 //!defined(PJ_LINUX) && !defined(PJ_LINUX_KERNEL)
return inet_ntoa(*(struct in_addr*)&inaddr);
#else
struct in_addr addr;
- addr.s_addr = inaddr.s_addr;
+ //addr.s_addr = inaddr.s_addr;
+ pj_memcpy(&addr, &inaddr, sizeof(addr));
return inet_ntoa(addr);
#endif
}
diff --git a/pjlib/src/pj/ssl_sock_ossl.c b/pjlib/src/pj/ssl_sock_ossl.c
index 86a9351a..f8e3a2dd 100644
--- a/pjlib/src/pj/ssl_sock_ossl.c
+++ b/pjlib/src/pj/ssl_sock_ossl.c
@@ -1321,8 +1321,8 @@ static void get_cert_info(pj_pool_t *pool, pj_ssl_cert_info *ci, X509 *x,
type = PJ_SSL_CERT_NAME_URI;
break;
case GEN_IPADD:
- p = ASN1_STRING_data(name->d.ip);
- len = ASN1_STRING_length(name->d.ip);
+ p = (unsigned char*)M_ASN1_STRING_data(name->d.ip);
+ len = M_ASN1_STRING_length(name->d.ip);
type = PJ_SSL_CERT_NAME_IP;
break;
default:
diff --git a/pjmedia/src/pjmedia-audiodev/android_jni_dev.c b/pjmedia/src/pjmedia-audiodev/android_jni_dev.c
index b6b47ad0..3944a289 100644
--- a/pjmedia/src/pjmedia-audiodev/android_jni_dev.c
+++ b/pjmedia/src/pjmedia-audiodev/android_jni_dev.c
@@ -544,7 +544,7 @@ static pj_status_t android_create_stream(pjmedia_aud_dev_factory *f,
struct android_aud_stream *stream;
pj_status_t status = PJ_SUCCESS;
int state = 0;
- int buffSize, inputBuffSizePlay, inputBuffSizeRec;
+ int buffSize, inputBuffSizePlay = 0, inputBuffSizeRec = 0;
int channelInCfg, channelOutCfg, sampleFormat;
jmethodID constructor_method=0, bufsize_method = 0;
jmethodID method_id = 0;
@@ -931,7 +931,7 @@ static pj_status_t strm_set_cap(pjmedia_aud_stream *s,
{
if (stream->track) {
jmethodID vol_method = 0;
- int retval;
+ int retval = 0;
float vol = *(int *)value;
attached = attach_jvm(&jni_env);
diff --git a/pjmedia/src/pjmedia-videodev/android_dev.c b/pjmedia/src/pjmedia-videodev/android_dev.c
index 1da72610..fd27cf2a 100644
--- a/pjmedia/src/pjmedia-videodev/android_dev.c
+++ b/pjmedia/src/pjmedia-videodev/android_dev.c
@@ -750,7 +750,7 @@ static pj_status_t and_factory_create_stream(
const pjmedia_video_format_detail *vfd;
const pjmedia_video_format_info *vfi;
pjmedia_video_apply_fmt_param vafp;
- pj_uint32_t and_fmt;
+ pj_uint32_t and_fmt = 0;
unsigned convert_to_i420 = 0;
pj_status_t status = PJ_SUCCESS;
@@ -1107,12 +1107,12 @@ static void JNICALL OnGetFrame(JNIEnv *env, jobject obj,
jbyteArray data, jint length,
jlong user_data)
{
- and_stream *strm = *(and_stream**)&user_data;
+ and_stream *strm = (and_stream*)(intptr_t)user_data;
pjmedia_frame f;
pj_uint8_t *Y, *U, *V;
pj_status_t status;
- void *frame_buf, *data_buf;
-
+ void *frame_buf, *data_buf;
+
strm->frame_ts.u64 += strm->ts_inc;
if (!strm->vid_cb.capture_cb)
return;
diff --git a/pjmedia/src/pjmedia/avi_player.c b/pjmedia/src/pjmedia/avi_player.c
index 15fa73a1..8cc9742e 100644
--- a/pjmedia/src/pjmedia/avi_player.c
+++ b/pjmedia/src/pjmedia/avi_player.c
@@ -44,7 +44,9 @@
#define AVI_EOF 0xFFEEFFEE
-#define COMPARE_TAG(doc_tag, tag) (doc_tag == *((pj_uint32_t *)avi_tags[tag]))
+//#define COMPARE_TAG(doc_tag, tag) (doc_tag==*((pj_uint32_t*)avi_tags[tag]))
+#define COMPARE_TAG(doc_tag, tag) \
+ (pj_memcmp(&(doc_tag), &avi_tags[tag], 4)==0)
#define SIGNATURE PJMEDIA_SIG_PORT_VID_AVI_PLAYER
diff --git a/pjnath/src/pjnath/stun_msg_dump.c b/pjnath/src/pjnath/stun_msg_dump.c
index f38e2750..91d41c7a 100644
--- a/pjnath/src/pjnath/stun_msg_dump.c
+++ b/pjnath/src/pjnath/stun_msg_dump.c
@@ -256,6 +256,7 @@ PJ_DEF(char*) pj_stun_msg_dump(const pj_stun_msg *msg,
char *p, *end;
int len;
unsigned i;
+ pj_uint32_t tsx_id[3];
PJ_ASSERT_RETURN(msg && buffer && length, NULL);
@@ -269,14 +270,15 @@ PJ_DEF(char*) pj_stun_msg_dump(const pj_stun_msg *msg,
pj_stun_get_class_name(msg->hdr.type));
APPLY();
+ pj_memcpy(tsx_id, msg->hdr.tsx_id, sizeof(msg->hdr.tsx_id));
len = pj_ansi_snprintf(p, end-p,
" Hdr: length=%d, magic=%08x, tsx_id=%08x%08x%08x\n"
" Attributes:\n",
msg->hdr.length,
msg->hdr.magic,
- *(pj_uint32_t*)&msg->hdr.tsx_id[0],
- *(pj_uint32_t*)&msg->hdr.tsx_id[4],
- *(pj_uint32_t*)&msg->hdr.tsx_id[8]);
+ tsx_id[0],
+ tsx_id[1],
+ tsx_id[2]);
APPLY();
for (i=0; i<msg->attr_count; ++i) {