--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/reprepro-3.5.2-incoming.c.diff Fri Jul 03 15:23:10 2009 +0200
@@ -0,0 +1,28 @@
+--- incoming.c.orig 2009-06-11 10:48:27.000000000 +0200
++++ reprepro-3.5.2/incoming.c 2009-06-11 14:29:28.000000000 +0200
+@@ -1854,6 +1854,8 @@
+ for( j = 0 ; j < i->files.count ; j ++ ) {
+ const char *basename = i->files.values[j];
+ size_t l = strlen(basename);
++ char *fullfilename;
++
+ #define C_SUFFIX ".changes"
+ #define C_LEN strlen(C_SUFFIX)
+ if( l <= C_LEN || strcmp(basename+(l-C_LEN),C_SUFFIX) != 0 )
+@@ -1861,7 +1863,16 @@
+ if( changesfilename != NULL && strcmp(basename, changesfilename) != 0 )
+ continue;
+ /* a .changes file, check it */
++ fullfilename = calc_dirconcat(i->directory, i->files.values[j]);
++ if( fullfilename == NULL ) {
++ result = RET_ERROR_OOM;
++ continue;
++ }
++ printf("processing changesfile '%s'\n", fullfilename);
++ fprintf(stderr, "processing changesfile '%s'\n", fullfilename);
+ r = process_changes(database, dereferenced, i, j);
++ printf("changesfile '%s' done\n", fullfilename);
++ fprintf(stderr, "changesfile '%s' done\n", fullfilename);
+ RET_UPDATE(result, r);
+ }
+