diff --git a/libavutil/mem.c b/libavutil/mem.c
index b4a190ac214105a122dc81267c22a9050f5424b3..5f64f56a0d0aa657d03ae5942187ad1e788ce5be 100644
--- a/libavutil/mem.c
+++ b/libavutil/mem.c
@@ -138,7 +138,7 @@ void *av_realloc(void *ptr, size_t size)
 
 void *av_realloc_array(void *ptr, size_t nmemb, size_t size)
 {
-    if (size <= 0 || nmemb >= INT_MAX / size)
+    if (!size || nmemb >= INT_MAX / size)
         return NULL;
     return av_realloc(ptr, nmemb * size);
 }
@@ -147,9 +147,9 @@ int av_reallocp_array(void *ptr, size_t nmemb, size_t size)
 {
     void **ptrptr = ptr;
     void *ret;
-    if (size <= 0 || nmemb >= INT_MAX / size)
+    if (!size || nmemb >= INT_MAX / size)
         return AVERROR(ENOMEM);
-    if (nmemb <= 0) {
+    if (!nmemb) {
         av_freep(ptr);
         return 0;
     }