Skip to content

Commit f7e67d4

Browse files
nirbheekmark4o
authored andcommitted
repacketizer_demo: check for read errors to fix compiler warnings
Actually check for read errors instead of just storing the return value in a variable that then never gets checked. Also fixes "conversion from 'size_t' to 'int', possible loss of data" compiler warnings on Windows with MSVC caused by storing the size_t returned by fread() into an int variable. Signed-off-by: Mark Harris <[email protected]>
1 parent 907a523 commit f7e67d4

File tree

1 file changed

+37
-7
lines changed

1 file changed

+37
-7
lines changed

src/repacketizer_demo.c

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,19 @@ int main(int argc, char *argv[])
119119
for (i=0;i<nb_packets;i++)
120120
{
121121
unsigned char ch[4];
122-
err = fread(ch, 1, 4, fin);
122+
if (fread(ch, 1, 4, fin)!=4)
123+
{
124+
if (feof(fin))
125+
{
126+
eof = 1;
127+
} else {
128+
fprintf(stderr, "Error reading payload length.\n");
129+
fclose(fin);
130+
fclose(fout);
131+
return EXIT_FAILURE;
132+
}
133+
break;
134+
}
123135
len[i] = char_to_int(ch);
124136
/*fprintf(stderr, "in len = %d\n", len[i]);*/
125137
if (len[i]>1500 || len[i]<0)
@@ -135,13 +147,31 @@ int main(int argc, char *argv[])
135147
}
136148
break;
137149
}
138-
err = fread(ch, 1, 4, fin);
139-
rng[i] = char_to_int(ch);
140-
err = fread(packets[i], 1, len[i], fin);
141-
if (feof(fin))
150+
if (fread(ch, 1, 4, fin)!=4)
142151
{
143-
eof = 1;
144-
break;
152+
if (feof(fin))
153+
{
154+
eof = 1;
155+
} else {
156+
fprintf(stderr, "Error reading.\n");
157+
fclose(fin);
158+
fclose(fout);
159+
return EXIT_FAILURE;
160+
}
161+
break;
162+
}
163+
rng[i] = char_to_int(ch);
164+
if (fread(packets[i], len[i], 1, fin)!=1) {
165+
if (feof(fin))
166+
{
167+
eof = 1;
168+
} else {
169+
fprintf(stderr, "Error reading packet of %u bytes.\n", len[i]);
170+
fclose(fin);
171+
fclose(fout);
172+
return EXIT_FAILURE;
173+
}
174+
break;
145175
}
146176
err = opus_repacketizer_cat(rp, packets[i], len[i]);
147177
if (err!=OPUS_OK)

0 commit comments

Comments
 (0)