Tag: availability

Unspecified default value

Unspecified defaults can cause your application to crash.

Device Permission Usage.

Do not use API that requests system permission directly. Please onboard mShop Permission Service first.

Missing check on the value returned by moveToFirst API

Missing check on the value returned by moveToFirst API can cause your application to crash.

Overflow when deserializing relational database objects

Deserializing objects from relational databases should allocate a 64-bit, not 32-bit, type for the auto-incremented identifier.

Custom manual retries of AWS SDK calls

Custom manual retries of calls to AWS SDK APIs are inefficient.

Missing null check for cache response metadata

Accessing the cache response metadata without performing a null check might cause a null dereference error.

Use of a deprecated method

This code uses deprecated methods, which suggests that it has not been recently reviewed or maintained.

AWS Lambda client not reused

Reuse AWS clients in Lambda.

AWS client not reused in a Lambda function

Recreating AWS clients in each Lambda function invocation is expensive.

Insecure temporary file or directory

Insecure ways of creating temporary files and directories can lead to race conditions, privilege escalation, and other security vulnerabilities.

Concurrency deadlock

Improper use of locks in a multi-threaded program can lead to deadlock and cause the program to be unresponsive.

Override of reserved variable names in a Lambda function

Overriding environment variables that are reserved by AWS Lambda might lead to unexpected behavior.

Not calling finalize causes skipped cleanup steps

Always call super.finalize explicitly.

Unchecked S3 object metadata content length

Failure to specify a content length causes the contents of the input stream to buffer locally in memory in order to calculate its length. This can result in performance problems.

Resource leak

Allocated resources are not released properly.

Missing position check before getting substring

Getting a substring outside the range of a string can cause an index-out-of-bounds exception.

Improper use of classes that aren't thread-safe

Improper use of thread-unsafe classes in multi-threaded programs can cause the programs to be unstable.

Insufficient use of name in Amazon SQS queue

Provide the full URL for the Amazon SQS queue.

Missing check on the value returned by ResultSet.next

Missing check on the value returned by ResultSet.next can cause your application to crash.

Use an enum to specify an AWS Region

To minimize the risk of error, use an enum instead of a string to specify an AWS Region.

Null pointer dereference

Dereferencing a null pointer can lead to unexpected null pointer exceptions.

Atomicity violation

Atomicity violations caused by improper usage of ConcurrentHashMap or ConcurrentLinkedQueue can result in crashses or incorrect program results.

Missing check when launching an Android activity with an implicit intent

Your application can crash if the check for an application that can receive the implicit intent is missing from code.

Infinite loop

Use loop control flow to ensure that loops are exited, even if exceptional behaviors are encountered.

Missing handling of file deletion result

Unhandled failures of deleting files can exhaust file handles.