@@ -256,10 +256,14 @@ static inline int safe_ftruncate(const char *file, const int lineno,
256
256
int rval ;
257
257
258
258
rval = ftruncate (fd , length );
259
+
259
260
if (rval == -1 ) {
260
261
tst_brk_ (file , lineno , TBROK | TERRNO ,
261
- "ftruncate(%d,%ld) failed" ,
262
- fd , (long )length );
262
+ "ftruncate(%d,%ld) failed" , fd , (long )length );
263
+ } else if (rval ) {
264
+ tst_brk_ (file , lineno , TBROK | TERRNO ,
265
+ "Invalid ftruncate(%d,%ld) return value %d" , fd ,
266
+ (long )length , rval );
263
267
}
264
268
265
269
return rval ;
@@ -273,10 +277,14 @@ static inline int safe_truncate(const char *file, const int lineno,
273
277
int rval ;
274
278
275
279
rval = truncate (path , length );
280
+
276
281
if (rval == -1 ) {
277
282
tst_brk_ (file , lineno , TBROK | TERRNO ,
278
- "truncate(%s,%ld) failed" ,
279
- path , (long )length );
283
+ "truncate(%s,%ld) failed" , path , (long )length );
284
+ } else if (rval ) {
285
+ tst_brk_ (file , lineno , TBROK | TERRNO ,
286
+ "Invalid truncate(%s,%ld) return value %d" , path ,
287
+ (long )length , rval );
280
288
}
281
289
282
290
return rval ;
@@ -293,7 +301,11 @@ static inline int safe_stat(const char *file, const int lineno,
293
301
294
302
if (rval == -1 ) {
295
303
tst_brk_ (file , lineno , TBROK | TERRNO ,
296
- "stat(%s,%p) failed" , path , buf );
304
+ "stat(%s,%p) failed" , path , buf );
305
+ } else if (rval ) {
306
+ tst_brk_ (file , lineno , TBROK | TERRNO ,
307
+ "Invalid stat(%s,%p) return value %d" , path , buf ,
308
+ rval );
297
309
}
298
310
299
311
return rval ;
@@ -311,6 +323,9 @@ static inline int safe_fstat(const char *file, const int lineno,
311
323
if (rval == -1 ) {
312
324
tst_brk_ (file , lineno , TBROK | TERRNO ,
313
325
"fstat(%d,%p) failed" , fd , buf );
326
+ } else if (rval ) {
327
+ tst_brk_ (file , lineno , TBROK | TERRNO ,
328
+ "Invalid fstat(%d,%p) return value %d" , fd , buf , rval );
314
329
}
315
330
316
331
return rval ;
@@ -328,6 +343,10 @@ static inline int safe_lstat(const char *file, const int lineno,
328
343
if (rval == -1 ) {
329
344
tst_brk_ (file , lineno , TBROK | TERRNO ,
330
345
"lstat(%s,%p) failed" , path , buf );
346
+ } else if (rval ) {
347
+ tst_brk_ (file , lineno , TBROK | TERRNO ,
348
+ "Invalid lstat(%s,%p) return value %d" , path , buf ,
349
+ rval );
331
350
}
332
351
333
352
return rval ;
@@ -344,7 +363,11 @@ static inline int safe_statfs(const char *file, const int lineno,
344
363
345
364
if (rval == -1 ) {
346
365
tst_brk_ (file , lineno , TBROK | TERRNO ,
347
- "statfs(%s,%p) failed" , path , buf );
366
+ "statfs(%s,%p) failed" , path , buf );
367
+ } else if (rval ) {
368
+ tst_brk_ (file , lineno , TBROK | TERRNO ,
369
+ "Invalid statfs(%s,%p) return value %d" , path , buf ,
370
+ rval );
348
371
}
349
372
350
373
return rval ;
@@ -361,8 +384,11 @@ static inline off_t safe_lseek(const char *file, const int lineno,
361
384
362
385
if (rval == (off_t ) - 1 ) {
363
386
tst_brk_ (file , lineno , TBROK | TERRNO ,
364
- "lseek(%d,%ld,%d) failed" ,
365
- fd , (long )offset , whence );
387
+ "lseek(%d,%ld,%d) failed" , fd , (long )offset , whence );
388
+ } else if (rval < 0 ) {
389
+ tst_brk_ (file , lineno , TBROK | TERRNO ,
390
+ "Invalid lseek(%d,%ld,%d) return value %ld" , fd ,
391
+ (long )offset , whence , (long )rval );
366
392
}
367
393
368
394
return rval ;
@@ -379,8 +405,11 @@ static inline int safe_getrlimit(const char *file, const int lineno,
379
405
380
406
if (rval == -1 ) {
381
407
tst_brk_ (file , lineno , TBROK | TERRNO ,
382
- "getrlimit(%d,%p) failed" ,
383
- resource , rlim );
408
+ "getrlimit(%d,%p) failed" , resource , rlim );
409
+ } else if (rval ) {
410
+ tst_brk_ (file , lineno , TBROK | TERRNO ,
411
+ "Invalid getrlimit(%d,%p) return value %d" , resource ,
412
+ rlim , rval );
384
413
}
385
414
386
415
return rval ;
@@ -397,8 +426,11 @@ static inline int safe_setrlimit(const char *file, const int lineno,
397
426
398
427
if (rval == -1 ) {
399
428
tst_brk_ (file , lineno , TBROK | TERRNO ,
400
- "setrlimit(%d,%p) failed" ,
401
- resource , rlim );
429
+ "setrlimit(%d,%p) failed" , resource , rlim );
430
+ } else if (rval ) {
431
+ tst_brk_ (file , lineno , TBROK | TERRNO ,
432
+ "Invalid setrlimit(%d,%p) return value %d" , resource ,
433
+ rlim , rval );
402
434
}
403
435
404
436
return rval ;
0 commit comments