]> granicus.if.org Git - cgit/commitdiff
shared.c: avoid SEGFAULT when checking for binary buffers
authorLars Hjemli <hjemli@gmail.com>
Sun, 1 Feb 2009 18:29:24 +0000 (19:29 +0100)
committerLars Hjemli <hjemli@gmail.com>
Sun, 1 Feb 2009 18:29:24 +0000 (19:29 +0100)
Before calling buffer_is_binary() we need to verify that the buffer
is valid.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
shared.c

index dbb84d84cae97790426df67f61cd4cb305a39dce..cce0af40db29b77527fe1f6a7a897b4076c9621b 100644 (file)
--- a/shared.c
+++ b/shared.c
@@ -271,8 +271,8 @@ int cgit_diff_files(const unsigned char *old_sha1,
        *old_size = file1.size;
        *new_size = file2.size;
 
-       if (buffer_is_binary(file1.ptr, file1.size) ||
-           buffer_is_binary(file2.ptr, file2.size)) {
+       if ((file1.ptr && buffer_is_binary(file1.ptr, file1.size)) ||
+           (file2.ptr && buffer_is_binary(file2.ptr, file2.size))) {
                *binary = 1;
                return 0;
        }