Skip to content

Commit 3d4dd4c

Browse files
committed
In Perl_load_module_nocontext(), ver can actually be NULL.
In Perl_hv_copy_hints_hv(), ohv can actually be NULL. In Perl_sortsv(), Perl_sortsv_flags() and S_qsortsvu(), array can be NULL (if the number of elements to sort is <= 1). In Perl_save_nogv(), gv can not be NULL. In Perl_sv_cmp() and Perl_sv_cmp_locale(), both SVs can be NULL. In Perl_ptr_table_fetch(), the sv can be NULL. In PerlIO_set_ptrcnt(), ptr can be NULL. p4raw-id: //depot/perl@33287
1 parent d305672 commit 3d4dd4c

File tree

2 files changed

+20
-32
lines changed

2 files changed

+20
-32
lines changed

embed.fnc

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ Afnrp |void |croak_nocontext|NN const char* pat|...
143143
Afnp |OP* |die_nocontext |NN const char* pat|...
144144
Afnp |void |deb_nocontext |NN const char* pat|...
145145
Afnp |char* |form_nocontext |NN const char* pat|...
146-
Anp |void |load_module_nocontext|U32 flags|NN SV* name|NN SV* ver|...
146+
Anp |void |load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
147147
Afnp |SV* |mess_nocontext |NN const char* pat|...
148148
Afnp |void |warn_nocontext |NN const char* pat|...
149149
Afnp |void |warner_nocontext|U32 err|NN const char* pat|...
@@ -299,7 +299,7 @@ Apd |HV* |gv_stashpv |NN const char* name|I32 flags
299299
Apd |HV* |gv_stashpvn |NN const char* name|U32 namelen|I32 flags
300300
Apd |HV* |gv_stashsv |NN SV* sv|I32 flags
301301
Apd |void |hv_clear |NULLOK HV* tb
302-
poM |HV * |hv_copy_hints_hv|NN HV *const ohv
302+
poM |HV * |hv_copy_hints_hv|NULLOK HV *const ohv
303303
Ap |void |hv_delayfree_ent|NN HV* hv|NULLOK HE* entry
304304
Abmd |SV* |hv_delete |NULLOK HV* tb|NN const char* key|I32 klen \
305305
|I32 flags
@@ -486,8 +486,8 @@ p |char* |mem_collxfrm |NN const char* s|STRLEN len|NN STRLEN* xlen
486486
Afp |SV* |mess |NN const char* pat|...
487487
Ap |SV* |vmess |NN const char* pat|NULLOK va_list* args
488488
EXp |void |qerror |NN SV* err
489-
Apd |void |sortsv |NN SV** array|size_t num_elts|NN SVCOMPARE_t cmp
490-
Apd |void |sortsv_flags |NN SV** array|size_t num_elts|NN SVCOMPARE_t cmp|U32 flags
489+
Apd |void |sortsv |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp
490+
Apd |void |sortsv_flags |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp|U32 flags
491491
Apd |int |mg_clear |NN SV* sv
492492
Apd |int |mg_copy |NN SV* sv|NN SV* nsv|NULLOK const char* key|I32 klen
493493
pd |void |mg_localize |NN SV* sv|NN SV* nsv
@@ -769,7 +769,7 @@ Ap |void |save_iv |NN IV* iv
769769
Ap |void |save_list |NN SV** sarg|I32 maxsarg
770770
Ap |void |save_long |NN long* longp
771771
Ap |void |save_mortalizesv|NN SV* sv
772-
Ap |void |save_nogv |NULLOK GV* gv
772+
Ap |void |save_nogv |NN GV* gv
773773
p |void |save_op
774774
Ap |SV* |save_scalar |NN GV* gv
775775
Ap |void |save_pptr |NN char** pptr
@@ -843,8 +843,8 @@ Apd |void |sv_chop |NN SV* sv|NULLOK const char* ptr
843843
pd |I32 |sv_clean_all
844844
pd |void |sv_clean_objs
845845
Apd |void |sv_clear |NN SV* sv
846-
Apd |I32 |sv_cmp |NN SV* sv1|NN SV* sv2
847-
Apd |I32 |sv_cmp_locale |NN SV* sv1|NN SV* sv2
846+
Apd |I32 |sv_cmp |NULLOK SV* sv1|NULLOK SV* sv2
847+
Apd |I32 |sv_cmp_locale |NULLOK SV* sv1|NULLOK SV* sv2
848848
#if defined(USE_LOCALE_COLLATE)
849849
Apd |char* |sv_collxfrm |NN SV* sv|NN STRLEN* nxp
850850
#endif
@@ -1096,7 +1096,7 @@ Ap |void |rvpv_dup |NN SV* dstr|NN const SV *sstr|NN CLONE_PARAMS* param
10961096
Ap |yy_parser*|parser_dup |NULLOK const yy_parser *proto|NN CLONE_PARAMS* param
10971097
#endif
10981098
Apa |PTR_TBL_t*|ptr_table_new
1099-
ApR |void* |ptr_table_fetch|NN PTR_TBL_t *tbl|NN const void *sv
1099+
ApR |void* |ptr_table_fetch|NN PTR_TBL_t *tbl|NULLOK const void *sv
11001100
Ap |void |ptr_table_store|NN PTR_TBL_t *tbl|NULLOK const void *oldsv|NN void *newsv
11011101
Ap |void |ptr_table_split|NN PTR_TBL_t *tbl
11021102
Ap |void |ptr_table_clear|NULLOK PTR_TBL_t *tbl
@@ -1367,7 +1367,7 @@ s |I32 |amagic_cmp_locale|NN SV *a|NN SV *b
13671367
s |I32 |sortcv |NN SV *a|NN SV *b
13681368
s |I32 |sortcv_xsub |NN SV *a|NN SV *b
13691369
s |I32 |sortcv_stacked |NN SV *a|NN SV *b
1370-
s |void |qsortsvu |NN SV** array|size_t num_elts|NN SVCOMPARE_t compare
1370+
s |void |qsortsvu |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t compare
13711371
#endif
13721372

13731373
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
@@ -1644,7 +1644,8 @@ Ap |int |PerlIO_error |NULLOK PerlIO *f
16441644
Ap |int |PerlIO_flush |NULLOK PerlIO *f
16451645
Ap |void |PerlIO_clearerr |NULLOK PerlIO *f
16461646
Ap |void |PerlIO_set_cnt |NULLOK PerlIO *f|int cnt
1647-
Ap |void |PerlIO_set_ptrcnt |NULLOK PerlIO *f|NN STDCHAR *ptr|int cnt
1647+
Ap |void |PerlIO_set_ptrcnt |NULLOK PerlIO *f|NULLOK STDCHAR *ptr \
1648+
|int cnt
16481649
Ap |void |PerlIO_setlinebuf |NULLOK PerlIO *f
16491650
Ap |SSize_t|PerlIO_read |NULLOK PerlIO *f|NN void *buf|Size_t count
16501651
Ap |SSize_t|PerlIO_write |NULLOK PerlIO *f|NN const void *buf|Size_t count

proto.h

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -267,8 +267,7 @@ PERL_CALLCONV char* Perl_form_nocontext(const char* pat, ...)
267267
__attribute__nonnull__(1);
268268

269269
PERL_CALLCONV void Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...)
270-
__attribute__nonnull__(2)
271-
__attribute__nonnull__(3);
270+
__attribute__nonnull__(2);
272271

273272
PERL_CALLCONV SV* Perl_mess_nocontext(const char* pat, ...)
274273
__attribute__format__(__printf__,1,2)
@@ -687,9 +686,7 @@ PERL_CALLCONV HV* Perl_gv_stashsv(pTHX_ SV* sv, I32 flags)
687686
__attribute__nonnull__(pTHX_1);
688687

689688
PERL_CALLCONV void Perl_hv_clear(pTHX_ HV* tb);
690-
PERL_CALLCONV HV * Perl_hv_copy_hints_hv(pTHX_ HV *const ohv)
691-
__attribute__nonnull__(pTHX_1);
692-
689+
PERL_CALLCONV HV * Perl_hv_copy_hints_hv(pTHX_ HV *const ohv);
693690
PERL_CALLCONV void Perl_hv_delayfree_ent(pTHX_ HV* hv, HE* entry)
694691
__attribute__nonnull__(pTHX_1);
695692

@@ -1300,11 +1297,9 @@ PERL_CALLCONV void Perl_qerror(pTHX_ SV* err)
13001297
__attribute__nonnull__(pTHX_1);
13011298

13021299
PERL_CALLCONV void Perl_sortsv(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp)
1303-
__attribute__nonnull__(pTHX_1)
13041300
__attribute__nonnull__(pTHX_3);
13051301

13061302
PERL_CALLCONV void Perl_sortsv_flags(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp, U32 flags)
1307-
__attribute__nonnull__(pTHX_1)
13081303
__attribute__nonnull__(pTHX_3);
13091304

13101305
PERL_CALLCONV int Perl_mg_clear(pTHX_ SV* sv)
@@ -2079,7 +2074,9 @@ PERL_CALLCONV void Perl_save_long(pTHX_ long* longp)
20792074
PERL_CALLCONV void Perl_save_mortalizesv(pTHX_ SV* sv)
20802075
__attribute__nonnull__(pTHX_1);
20812076

2082-
PERL_CALLCONV void Perl_save_nogv(pTHX_ GV* gv);
2077+
PERL_CALLCONV void Perl_save_nogv(pTHX_ GV* gv)
2078+
__attribute__nonnull__(pTHX_1);
2079+
20832080
PERL_CALLCONV void Perl_save_op(pTHX);
20842081
PERL_CALLCONV SV* Perl_save_scalar(pTHX_ GV* gv)
20852082
__attribute__nonnull__(pTHX_1);
@@ -2248,14 +2245,8 @@ PERL_CALLCONV void Perl_sv_clean_objs(pTHX);
22482245
PERL_CALLCONV void Perl_sv_clear(pTHX_ SV* sv)
22492246
__attribute__nonnull__(pTHX_1);
22502247

2251-
PERL_CALLCONV I32 Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2)
2252-
__attribute__nonnull__(pTHX_1)
2253-
__attribute__nonnull__(pTHX_2);
2254-
2255-
PERL_CALLCONV I32 Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2)
2256-
__attribute__nonnull__(pTHX_1)
2257-
__attribute__nonnull__(pTHX_2);
2258-
2248+
PERL_CALLCONV I32 Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2);
2249+
PERL_CALLCONV I32 Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2);
22592250
#if defined(USE_LOCALE_COLLATE)
22602251
PERL_CALLCONV char* Perl_sv_collxfrm(pTHX_ SV* sv, STRLEN* nxp)
22612252
__attribute__nonnull__(pTHX_1)
@@ -2916,8 +2907,7 @@ PERL_CALLCONV PTR_TBL_t* Perl_ptr_table_new(pTHX)
29162907

29172908
PERL_CALLCONV void* Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *tbl, const void *sv)
29182909
__attribute__warn_unused_result__
2919-
__attribute__nonnull__(pTHX_1)
2920-
__attribute__nonnull__(pTHX_2);
2910+
__attribute__nonnull__(pTHX_1);
29212911

29222912
PERL_CALLCONV void Perl_ptr_table_store(pTHX_ PTR_TBL_t *tbl, const void *oldsv, void *newsv)
29232913
__attribute__nonnull__(pTHX_1)
@@ -3618,7 +3608,6 @@ STATIC I32 S_sortcv_stacked(pTHX_ SV *a, SV *b)
36183608
__attribute__nonnull__(pTHX_2);
36193609

36203610
STATIC void S_qsortsvu(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t compare)
3621-
__attribute__nonnull__(pTHX_1)
36223611
__attribute__nonnull__(pTHX_3);
36233612

36243613
#endif
@@ -4245,9 +4234,7 @@ PERL_CALLCONV int Perl_PerlIO_error(pTHX_ PerlIO *f);
42454234
PERL_CALLCONV int Perl_PerlIO_flush(pTHX_ PerlIO *f);
42464235
PERL_CALLCONV void Perl_PerlIO_clearerr(pTHX_ PerlIO *f);
42474236
PERL_CALLCONV void Perl_PerlIO_set_cnt(pTHX_ PerlIO *f, int cnt);
4248-
PERL_CALLCONV void Perl_PerlIO_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR *ptr, int cnt)
4249-
__attribute__nonnull__(pTHX_2);
4250-
4237+
PERL_CALLCONV void Perl_PerlIO_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR *ptr, int cnt);
42514238
PERL_CALLCONV void Perl_PerlIO_setlinebuf(pTHX_ PerlIO *f);
42524239
PERL_CALLCONV SSize_t Perl_PerlIO_read(pTHX_ PerlIO *f, void *buf, Size_t count)
42534240
__attribute__nonnull__(pTHX_2);

0 commit comments

Comments
 (0)