Skip to content

Commit 4fac087

Browse files
nonelseuerceg
authored andcommitted
Add checks for install referrer proxy invoke
1 parent 7ea52e0 commit 4fac087

File tree

1 file changed

+32
-2
lines changed

1 file changed

+32
-2
lines changed

Adjust/adjust/src/main/java/com/adjust/sdk/InstallReferrer.java

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,17 +245,47 @@ private void startConnection(final Class listenerClass, final Object listenerPro
245245
* {@inheritDoc}
246246
*/
247247
@Override
248-
public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
248+
public Object invoke(final Object proxy, final Method method, Object[] args)
249+
throws Throwable {
250+
if (method == null) {
251+
logger.error("InstallReferrer invoke method null");
252+
return null;
253+
}
249254
String methodName = method.getName();
255+
if (methodName == null) {
256+
logger.error("InstallReferrer invoke method name null");
257+
return null;
258+
}
250259
// Prints the method being invoked
251260
logger.debug("InstallReferrer invoke method name: %s", methodName);
261+
if (args == null) {
262+
logger.warn("InstallReferrer invoke args null");
263+
args = new Object[0];
264+
}
252265
for (Object arg : args) {
253266
logger.debug("InstallReferrer invoke arg: %s", arg);
254267
}
255268

256269
// if the method name equals some method's name then call your method
257270
if (methodName.equals("onInstallReferrerSetupFinished")) {
258-
onInstallReferrerSetupFinishedInt((Integer) args[0]);
271+
if (args.length != 1) {
272+
logger.error("InstallReferrer invoke onInstallReferrerSetupFinished args lenght not 1: %d", args.length);
273+
return null;
274+
}
275+
276+
Object arg = args[0];
277+
if (!(arg instanceof Integer)) {
278+
logger.error("InstallReferrer invoke onInstallReferrerSetupFinished arg not int");
279+
return null;
280+
}
281+
282+
Integer responseCode = (Integer) arg;
283+
if (responseCode == null) {
284+
logger.error("InstallReferrer invoke onInstallReferrerSetupFinished responseCode arg is null");
285+
return null;
286+
}
287+
288+
onInstallReferrerSetupFinishedInt(responseCode);
259289
} else if (methodName.equals("onInstallReferrerServiceDisconnected")) {
260290
logger.debug("InstallReferrer onInstallReferrerServiceDisconnected");
261291
}

0 commit comments

Comments
 (0)