@@ -2640,7 +2640,7 @@ diff -u libmagic.orig/magic.c libmagic/magic.c
2640
2640
}
2641
2641
return file_getbuffer(ms);
2642
2642
diff -u libmagic.orig/magic.h libmagic/magic.h
2643
- --- libmagic.orig/magic.h 2022-10-02 20:46:41.085566920 +0200
2643
+ --- libmagic.orig/magic.h 2022-10-02 20:59:55.617810794 +0200
2644
2644
+++ libmagic/magic.h 2022-10-02 15:56:16.394142341 +0200
2645
2645
@@ -126,6 +126,7 @@
2646
2646
@@ -2829,7 +2829,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
2829
2829
if (i != -1)
2830
2830
diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
2831
2831
--- libmagic.orig/softmagic.c 2022-09-13 20:46:07.000000000 +0200
2832
- +++ libmagic/softmagic.c 2022-10-02 15:56:16.394142341 +0200
2832
+ +++ libmagic/softmagic.c 2022-10-02 20:58:58.073503436 +0200
2833
2833
@@ -43,7 +43,7 @@
2834
2834
#include <time.h>
2835
2835
#include "der.h"
@@ -3047,7 +3047,24 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
3047
3047
offset + o, mode, text, flip, indir_count, name_count,
3048
3048
printed_something, need_separator, returnval,
3049
3049
&nfound_match);
3050
- @@ -2036,29 +2044,8 @@
3050
+ @@ -1992,11 +2000,13 @@
3051
+ }
3052
+ else if ((flags & STRING_COMPACT_WHITESPACE) &&
3053
+ isspace(*a)) {
3054
+ + /* XXX Dirty. The data and the pattern is what is causing this.
3055
+ + Revert _i for the next port and see if it still matters. */
3056
+ + uint32_t _i = 0;
3057
+ a++;
3058
+ - if (isspace(*b)) {
3059
+ - b++;
3060
+ + if (isspace(*b++)) {
3061
+ if (!isspace(*a))
3062
+ - while (b < eb && isspace(*b))
3063
+ + while (EXPECTED(_i++ < 2048) && b < eb && isspace(*b))
3064
+ b++;
3065
+ }
3066
+ else {
3067
+ @@ -2036,29 +2046,8 @@
3051
3068
return file_strncmp(a, b, len, maxlen, flags);
3052
3069
}
3053
3070
@@ -3078,7 +3095,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
3078
3095
{
3079
3096
uint64_t l = m->value.q;
3080
3097
uint64_t v;
3081
- @@ -2218,8 +2205 ,8 @@
3098
+ @@ -2218,8 +2207 ,8 @@
3082
3099
idx = m->str_range + slen;
3083
3100
if (m->str_range == 0 || ms->search.s_len < idx)
3084
3101
idx = ms->search.s_len;
@@ -3089,7 +3106,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
3089
3106
if (!found) {
3090
3107
v = 1;
3091
3108
break;
3092
- @@ -2248,55 +2235 ,76 @@
3109
+ @@ -2248,55 +2237 ,76 @@
3093
3110
break;
3094
3111
}
3095
3112
case FILE_REGEX: {
0 commit comments