diff -r 000000000000 -r 98411ab74262 reprepro-3.5.2-incoming.c.diff --- /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); + } +